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