Object Oriented Class Design Exercise: Texas Hold ‘em poker game
• 2 to 8 human or computer players
• Each player has a name and stack of chips
• Computer players have a difficulty setting: easy, medium, hard
• Summary of each hand:
- Dealer collects ante1 from appropriate players, shuffles the deck, and deals each player a hand of 2 cards from the deck.
- A betting round occurs, followed by dealing 3 shared cards from the deck.
- As shared cards are dealt, more betting rounds occur, where each player can fold, check2, or raise3.
- At the end of a round, if more than one player is remaining, players' hands are compared4, and the best hand wins the pot of all chips bet so far.
Assuming that you are designing and implementing a poker game using the above description, answer the following questions:
• What are all classes are in this game system?
• What are their data members (or fields)?
• What are their responsibilities (or behaviors)?
• How are all the classes in this system associated5?
You are welcome to submit a diagram to answer all of the above questions.