|
CS 139
Algorithm Development
Part A - Due in Canvas by Friday Nov 21 at 11:59 PM. Part B Due in WebCAT by December, 3 at 11:59 PM
Part D due in class on Friday, December 6 or one day after you have successfully submitted to WebCAT. |
|
---|
Yahtzee is a dice rolling game in which players compete to get the best score. By rolling the dice up to three times, players try to match "hands" in the game. The object of this PA is to write a checker class in which various "Hands" will be passed into the methods of the checker and the resulting "score" for that hand will be determined. An array of Dice will be passed to the checker and a score will be returned.
You will write a Java file, named YahtzeeChecker, that will check Dice for the score. The user will specify what kind of hand they want to check and the checker will call the appropriate method to check the dice for that hand. Each hand has a corresponding value and "rules" for acheiving that value. If the Dice do not conform to the rules for that hand, a zero is returned.
Part B Structure
Yahtzee.java is being given to you. It will play a game of yahtzee and use your YahtzeeChecker class to determine the value of the hand.
You will write your YahtzeeChecker from scratch based on the following UML diagram and further explanation.
You will write a reflection document for this assignment which will let you consider the process of building this program. It will also let you critique all of the assignments for this class.
In addition, you should keep a log showing how much time you and your partner worked together and how much time you worked alone. For students working without a partner, this log should reflect the time that you put into the assignment.
This is a pair programming assignment. You may work with your partner, but may not work with any other team. This assignment should be viewed as a take home exam. Your work on the assignment and your submission must conform to the JMU Honor Code. Authorized help is limited to the classroom handouts, lab material, the TAs for any CS139 or CS 149 section, and either professor. Copying work from another student not in your partnership or the Internet is an honor code violation, which will result in a zero on the assignment and possibly further sanctions. Any internet "help" you recieve should be documented in the acknowledgement section. Your work on this assignment is subject to review by MOSS which is a plagiarism detection tool for programs. Submission to WebCAT constitutes your submission of work for academic credit and your agreement that your work may be submitted to MOSS.