Java代写 | COMP 3004B Individual Assignment 2


COMP 3004B Individual Assignment 2

The game consists of several rounds, each round concluding by computing the score
of each player for that round and updating their game scores accordingly. In a
round, five cards are dealt to each player. The remaining cards of the deck are
placed face down at the center of the table as the stock pile. The top card is then
turned face up to start the game as the first card in the discard pile. This top card
cannot be an eight and, if this is the case, that eight is put back randomly in the deck
and a new top card is picked.
In a round, on his/her turn, a player discards a card by matching rank or suit with
the top card of the discard pile. Alternatively, a player can play any 8, which allows
that player to declare the z that the next player is to play: that next player must then
match the named suit or play another 8.
If a player is unable to play, that player draws, one at a time, up to 3 cards from the
stock pile. A card that is drawn and can be played must be played. If still unable to
play after 3 draws, that player must then immediately end his/her turn.
A round is over as soon as one player plays their last card. In this case, that player
scores 0 for the round. Each other player scores the total value of the cards in their
hand as follows: 8s score 50 points, kings, queens and jacks are worth 10 points, and
all other cards are worth their face value. The scores for the current round are
added to those of the previous rounds. The game is over once any of the players
reaches 100 points. The winner is the player with the lowest score and the game is
Alternatively, a round is over once the stock pile is exhausted and no player can play
another card. That is, even if the stock pile is exhausted, players continue their turns
until no player can play another card. In this case, all players score the total value of
the cards in their hand.
Additional Special Behavior Cards:
a) Queens
Playing a Queen causes the next player to miss their turn.
b) Aces
Playing an Ace reverses the direction of play (i.e., modifies who is the next
player to play.
c) Twos
Playing a Two forces the next player to draw two cards, unless they can play
two cards. Furthermore, if a two is played in response to a two, the next
player must draw four cards!
Additional rules for this assignment:
1) The order in which the players join a game determines their sequence of
play. That is, the first player to have joined plays first in the first round,
followed by the second player to have joined, etc. In the second round, it is
the second player to have joined the game who starts that 2nd round,
followed by the third player to have joined, etc.
2) For simplicity and testability, a player who has a playable card must play it.
Assignment Requirements:
Your game interface must allow each player to see their cards, the number of cards
remaining in the stock pile, the top card of the discard pile, and the score of all
players. This interface must also indicate whose turn it is, and, once a player’s turn
ends, who is the next player to play. Finally, at the end of the game, the winner must
be identified.
A graphical user interface is NOT required: you are to use a textual interface, with
S for spades, C for Clubs, D for diamonds and H for hearts. So 8H refers to the eight
of hearts.
You are to submit a single file to cuLearn by the due date.
This file must have its name consist of:
– your LAST name followed by a – followed by
– your First name followed by a – followed by
– your student number followed by a – followed by A2
Your submission must be of type .xlsx and contain the filled correction grid that
will have been posted for this assignment. This grid will have you specify a link to
your repository. You must have this repository private and grant access to it to the
instructor AND the 4 TAs at least 1 week prior to the deadline for submission.
The grid will have you specify a link to a first unlisted youtube video showing you:
1) downloading your game from your repository
2) building your game
3) starting your game with 3 players
4) playing a round including scoring
5) playing a second round in which a player will go over 100 and a winner will
be determined.
The purpose of this first video is to show your game being used independently of the
tests you have to execute in a second video.
The exact cards to ‘rig’ the game play will be posted by February 1st.
The correction grid also specifies an extensive set of tests to verify the functional
correctness of your implementation. The grid will have you specify a link to a
second unlisted youtube video addressing your testing by:
1) downloading your game from your repository
2) building your game
3) showing where the JUnit methods corresponding to the tests of the grid are
to be found.
4) Running the test suite in order to demonstrate the required tests pass.
A networked implementation of the game of Yahtzee will be posted for you to study
and will be briefly discussed in class.
A non-networked solution that satisfies all other requirements of this assignment
will get a mark of 50 out of 100.
Any submission that is incorrectly named or not opening in Excel will automatically
get a mark of 0.


本网站支持淘宝 支付宝 微信支付  paypal等等交易。如果不放心可以用淘宝交易!

E-mail: [email protected]  微信:itcsdx