Ed Pernicka CS 292, Group 3 October 1 report. Five Card Stud Rules Each player begins by placing an ante. For our game the ante amount will be one dollar. Each player is then given a face down card and a face up card. For our game we will implement a simple betting system. For the each of the betting rounds, the amount per bet will be fixed, and will be as follows First Round: 1 dollar Second Round: 2 dollars Third Round: 3 dollars Fourth Round: 4 dollars Betting will work the following way. One of the two players will have a higher exposed card after the first dealing of cards. We will resolve numerical ties by ordering the suits. We call the player with the higher initial exposed card Player A. Player A begins betting. He can either bet the amount specified by that round or he can choose to check, meaning he decides to not place a bet at all. If he decides to place a bet, the other player, player B, can then either fold, match the bet, or raise the bet. We now examine the three responses to a raise 1. If player B folds, Player A wins. 2. If player B matches the bet, this round of betting is over and the game proceeds to the next stage ( either the next card is dealt, or the cards are exposed and the winner is determined. 3 If player B raises, this means he has matched the bet, and wishes to raise the stakes further. Player A is then put in the same position as Player B was when Player A raised, and he now follows these 3 steps. After the third raise, the player not making that raise only has two choices: to match or to fold. This proceeds until all four face cards have been dealt. At the end of this fourth round of betting, the hands are exposed and the winner is determined. Also, at the beginning of each round the highest exposed hand determines the first player to bet. For our game, the initial amount of money each player will have will be an arbitrary fixed amount, $100. Card Engine For our card engine class we will use the class described in the following two web pages: ttp://www.javaworld.com/javaworld/jw-08-1996/jw-08-cards.html ttp://www.javaworld.com/javaworld/jw-08-1996/jw-08-cards-p2.html We will have a card class, a carddeck class, a ruleset class, and a hand class. The functions described in the aforementioned HTML docluments will provide us with the necessary logic to describe the deck and the hands throughout our poker game. We will however, need to add functions to the rule set. We may indeed be able to find the rules online somewhere but as of now, our plan is to implement the rules ourselves. The only functionality we need is a way to discern if one hand is better than another, that is, we need to be able to recognize the following ordering of 5 card poker hands, ranked best to worst. 1. Straight Flush ( Five successive cards, in same suit) 2. Four of a Kind (Four cards of same value) 3. Full House (3 cards of one value, two of another) 4. Flush (Five cards of same suit, not successive) 5. Straight(Five cards of successive value, not all in same suit) 6. Three of a Kind ( Three cards of same value, but not a full house) 7. Two Pair ( two pairs, the final card is a different value) 8. Pair ( one pairs, but not two pairs, or full house) 9. High Card. ( no two cards have same value, and all cards don't have the same suit) Indeed, we must also be able to decide if two hands are tied, and we must be able to determine the relative strength of two hands that are both a member of one of the above sets. We will not go into the details of exactly how we are going to decide if one hand is better than another, as it will be quite a laborious task; however, it is not one that should be too difficult.