10/19/04
Milestone Week 4
CSC 480 Project:
Group:
Hold’em High
Chris Leighton
Zach Halperin
Ka Kit Wu
Todd Robbins
Project Description
The Texas Hold’em Bot will play the card
game “Texas Hold’em” with at least 1 opponent. It
will use AI principles to determine betting strategies, probabilities,
individual player trends, and make rational decisions about how to act based on
these factors. The Bot will maintain records on each
player, and will try to recognize both individual and general trends. It will
try to improve its strategy based on these trends.
System Design
10/19/2004
Team 2 –

Prototype and Implementation
Implementation
Language - Java 1.4.0
Development
Tools - JCreator
Implementation
Strategies - Incremental Development with Alpha and Beta Prototypes
Functionality
and Rules:
Standard
No Limit Texas Hold‘em Rules Implemented with the
following clarifications and exceptions:
-
Do not need to burn cards (this is an exception to normal Texas Hold'em Rules)
-
When a player folds, the pot goes to the player who did not fold. Then all
cards are collected, reshuffled, and a new round begins with the opposite
player as dealer (dealer swapped). However, if a player has no chips left, the
game ends.
-
Before first two cards are dealt to each player, the player in front of the
dealer must throw in the blind (this is done automatically).
-
After the blind is thrown in, the dealer must decide whether to fold, call, or
raise
-
Minimum bet increments = value of the blind
-
Next round of cards is “the flop” (3 community cards dealt face up), followed
by betting started by person opposite of dealer
-
Next round of cards is “
-
Final round of cards is “the river” (1 community card dealt face up), followed by
final round of betting started by person opposite of the dealer
-
If final bet is called (no one has folded), all cards are shown
-
If there is a tie for the best hands at the time of the "showdown",
the pot is split between the players who tie.
-
If the community makes up the best hand at the "showdown", the
remaining players (those who have not folded) split the pot.
-
The game ends when only one player has chips left.
Evaluation Plan Evaluation Instructions - To run Texas Hold’em, go to the command prompt and change the current working directory to the directory containing the game's class files. Type: “java Game”.- Currently there are no agents or artificially intelligent elements to the game. The only player type is a human player. This was done to facilitate the testing of the environment to verify the correct functionality of the card game. Also, the game only allows one-on-one gameplay. Either player can simply look at the output on the screen and see what cards their opponent has. Keep this in mind when evaluating the alpha prototype of Texas Hold’em.- Hands that tie will result in splitting the pot. (Currently many will tie because of the lack of detail in our comparison of hand strengths)- If the community hand is the best hand, the pot is split between the players still in the match. - The only two players are “Hank” and “Fred”, both of whom will be controlled by someone at the keyboard. The player who is ahead of the dealer marker is forced to post their blind automatically, so the first move goes to the person who is seated at where the dealer marker is (assumes only two players) and they have the choice to (f) Fold, (a) Call, or (r) Raise.- The option to “Raise” assumes that the amount to match a bet will be paid, so the number entered by the user at the “Bet >” prompt will be the number of chips that will be added to the amount required to call. Evaluation Criteria- Can two human players compete and successfully play a game of Texas Hold’em until a winner is declared?[YES NO]- If a player wins a hand, does the environment correctly determine that they are the winner, and does their chip count increase by the correct amount once they have won?[YES NO]- How well does the environment adhere to the betting rules of no-limit Texas Hold’em? Comments: - For a human player, how successfully does the text based UI inform the user of the critical game information (i.e. community cards, a players two-card hand, the state of the betting, the size of the pot, how much a player has won, why one hand won over another, the choices available to a player during their betting turn, etc.)?Comments: - Try selecting each of the menu options at least once. Do they cause the game to behave as expected? (There are a total of 5 menu options: fold, call, raise, check, or bet. 'Check' or 'Bet' should only be a choice when no one player has put more chips into the pot than another. The other three options show up when a at least one player has put more chips into the pot than another.)Comments: