关于程序员:CS-611-Game

46次阅读

共计 4245 个字符,预计需要花费 11 分钟才能阅读完成。

CS 611 Midterm Practicum
I. The Game
The objective of the game is to accumulate a hand of cards that equals 31 (Trianta ena!)
or a hand that has a card value greater than that of the Dealers without exceeding 31.
II. The Players
This is a game with multiple players:
 The Dealer, referred to as the Banker: distributes cards and pays out the winners
from amount of money held in the Bank.
 The Players (usually no more than seven or nine) : human players who face the
dealer. If the player loses they pay the Banker the amount equal to their bet. The
banks accumulates the winnings.
III. The Rules
There are a few variations to this game. These are the rules as played by my family:
Each player begins with the same amount of money; the player who is the Banker, must
begin with three times the amount of the Players. In other words, if the players begins
with $100.00 each, the Banker must have $300.00.
Trianta Ena consists of continious rounds of play with the same original deck(s),
reshuffled as needed.
Each round the Player may bet any amount of currency up to the total amount they have.
If the Player wins, they keep their bet and receive an equal amount of their bet from the
Banker. Otherwise the Player gives the entirety of the bet to the Banker.
To start each round, the Dealer deals one card to each player. The card that the Players
are dealt is kept face down and known only to each Player. The first card the Dealer is
dealt is kept face up and known to all the Players and the Dealer. After each player
receives their first card, they place their bet or choose to fold without betting. Once all
bets have been made, each player with a standing bet receives two more cards face up.
After each player has three cards (one down, two up), each Player in turn may take one of
the following actions:
 Hit : The Players continue to receive another card
 Stand : The Player ends and maintains the value of the current hand
Trianta Ena,
a Greek variation
Game to 31
CS 611 Midterm Practicum
If the player chooses to take another card and their hand is bust, that player must pay the
banker the total amount of their bet. Play continues with the next player.
Once all the Players stand or have gone bust, the dealer reveals their face down card to
the Players, and continues to take a hit until the hand value of the Banker reaches or
exceeds 27.
This concludes a round, and the game continues so long as players have money and
choose not to cash out.
IV. The Cards
The game is played using two standard 52 card decks. Each card has a face value, King,
Queen, and Jack have a face value of 10; the Ace can have a face value of 1 or 11. If the
hand consists of one Ace, the player can choose to count it as a 1 or an 11. If the hand
consists of more than one Ace, only one Ace can count as 1. All others have a value of
11.
The cards are reshuffled once all the cards have been used up.
V. The Winner
There can be multiple winners in each round. In general, the winner of a round is any
Player who has a hand value higher than that of the Dealer without having gone bust. In
the case of a tie, the Dealer wins.
A special case includes natural Trianta Ena versus the hand value of a 31. A natural
Trianta Ena is defined as a hand having a value of 31 (i.e. an Ace and two face cards).
While a value of 31 can be any amount of cards (e.g. a 9, 2, and a face card). Natural
Trianta Ena always triumphs over a value of 31. A natural 31 of the Banker results in the
Banker winning the bets from all players.
VI. Rotating the Banker
At the end of each round, the player with the largest total cash amount exceeding that of
the Banker, is given the option to become the Banker. If they choose to accept, the Player
becomes the Banker and current Banker becomes a Player. If they decline the player with
the next greatest amount is given the same option, etc.
Trianta Ena,
a Greek variation
Game to 31
CS 611 Midterm Practicum
VII. The Assignment
Assume you need to extend your Blackjack design to now also implement the game of
Trianta Ena. Evaluate your current Blackjack design on its ability to be extended to allow
for this variant to be implemented.
VIII. Deliverables

  1. Object Design Specification of your current implementation of Blackjack. Show
    all the classes you have currently implemented and explain the purpose and
    benefit gained from that class. You do not need to provide UML diagrams for
    each class, but an object diagram of your design structure is necessary.
  2. Object Design Specification of extended implementation. This specification
    should highlight all the changes that need to be made to your original object
    model for you to implement this variation of the Card game. These changes
    should be specific, identify any new classes you might need to create, any classes
    that you would remove, and any modifications you would make to your existing
    classes.
  3. Evaluate and review your original object design. Does it allow for the Trianta Ena
    variant to be implemented? If so, explain the benefits of your original design. If
    not, what changes would be required to your original design? Furthermore, would
    these changes have made your original implementation of Blackjack easier/better?
正文完
 0