Lab 1: Three Card Poker
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
Lab 1: Three Card Poker
Clone & Disconnect the starter project:
https://github.com/CISC181/LiveBLL_Lab1Starter
Poker is a great game to teach object-oriented concepts!
This lab is a series of labs… and this is the beginning. I’m starting you out with all-but-empty n-tier project. The project (so far) consists of three layers:
Project Name |
Purpose |
Description |
LiveBLL |
The Business Logic Layer |
All of the game logic should be contained in this project |
For the first few labs, all of the work will be done in the LiveBLL project.
For the first lab, I want to implement the following:
1. Clone / disconnect / re-point the starter project. Make sure your new repository is private.
2. Right-click the project and do Maven à Update Project. Make sure all four projects are selected and click ‘OK’. This should download all the public repositories you’ll need.
3. Build the project using Maven. Right-click the project à Run as à Maven Build. Then select ‘clean install’ as your maven goals.
4. The starter project I delivered should build with no errors. Now it’s time to code!
5. There is some code that is commented out that should be uncommented after your code is complete.
Card class.
1. Card class should have three attributes
Attribute name |
Data type / Reference Type |
eSuit |
eSuitValue |
eRank |
eRankValue |
isWild |
Boolean |
iCardNbr |
short |
2. The three attributes should have ‘getter’ methods created. It doesn’t logically make sense to have ‘setter’ methods for the attributes.
3. The three attributes are set in the Card class constructor. Create an overloaded constructor to handle (eSuitValue, eRankValue) and (eRankValue, eSuitValue). Set the isWild attribute to ‘false’ by default.
4. Equals(Object o) and compareTo(Card c) are given. These methods are used to sort the Card class.
6. Complete the Junit test for the ‘Card’ class. Make sure every method is tested.
7. Complete the methods in the ‘Deck’ class, then compete the Junit tests.
8. Build the project (repeat step 3).
9. Everything should build, all the Junit tests should execute without error.
Deliverables for Lab #1:
· Github with all four projects posted.
· Zip file with an export of all four projects.
· All the methods from Card & Deck implemented, 100% code coverage for unit tests.
Future labs…
· Handle ‘wild’ card. The ability to turn on/off given card(s) as ‘wild’. Wild card can be substituted for any other card during hand evaluation.
· Building an JavaFX, Android GUI (graphical user interface)
· Add new games (5 card draw, 7 card draw, Texas Hold ‘em).
· Trials to make sure program is dealing / randomizing correctly.
Grading – general guidelines/rubric
|
Exemplary |
Developing |
Oh, come on! |
Timeliness (25%)
|
Completed on time.
25 points |
More than 1 day, less than one week late.
10 points. |
More than 1 week late, less than 2 weeks late.
More than 2 weeks late – no submission possible.
0 points
|
Knowledge of Content
(40%)
|
Lab completed the bulleted deliverables, all functionality implemented, program(s) works as it should
40 points |
Missed one deliverable
Example: · Used JDK 1.7 instead of JDK 1.8 · Missed JUnit test case(s)
20-35 points |
Missed more than one deliverable
0 – 20 points |
Coding- Design or Runtime errors
(35%)
|
No errors, program compiles and executes as expected
35 points |
No more than two errors
20-35 points |
More than two errors
0-20 points |
2023-09-15