示例#1
0
 def test_two_pair(self):
     ranker = HandRanker()
     cards = [
         Card('S', 13),
         Card('H', 13),
         Card('D', 12),
         Card('C', 9),
         Card('S', 9)
     ]
     hand = Hand(cards)
     self.assertEqual(ranker.rank(hand), Rank.TWO_PAIR)
示例#2
0
 def test_straight(self):
     ranker = HandRanker()
     cards = [
         Card('D', 13),
         Card('H', 12),
         Card('C', 11),
         Card('C', 10),
         Card('S', 9)
     ]
     hand = Hand(cards)
     self.assertEqual(ranker.rank(hand), Rank.STRAIGHT)
示例#3
0
 def test_three_of_a_kind(self):
     ranker = HandRanker()
     cards = [
         Card('S', 13),
         Card('H', 13),
         Card('D', 13),
         Card('C', 11),
         Card('S', 9)
     ]
     hand = Hand(cards)
     self.assertEqual(ranker.rank(hand), Rank.THREE_OF_A_KIND)
示例#4
0
 def test_royal_flush(self):
     ranker = HandRanker()
     cards = [
         Card('S', 14),
         Card('S', 13),
         Card('S', 12),
         Card('S', 11),
         Card('S', 10)
     ]
     hand = Hand(cards)
     self.assertEqual(ranker.rank(hand), Rank.ROYAL_FLUSH)
示例#5
0
 def test_flush(self):
     ranker = HandRanker()
     cards = [
         Card('S', 13),
         Card('S', 12),
         Card('S', 11),
         Card('S', 3),
         Card('S', 9)
     ]
     hand = Hand(cards)
     self.assertEqual(ranker.rank(hand), Rank.FLUSH)
示例#6
0
 def test_full_house(self):
     ranker = HandRanker()
     cards = [
         Card('S', 13),
         Card('H', 13),
         Card('D', 13),
         Card('C', 9),
         Card('S', 9)
     ]
     hand = Hand(cards)
     self.assertEqual(ranker.rank(hand), Rank.FULL_HOUSE)
示例#7
0
 def test_four_of_a_kind(self):
     ranker = HandRanker()
     cards = [
         Card('S', 13),
         Card('H', 13),
         Card('D', 13),
         Card('C', 13),
         Card('S', 9)
     ]
     hand = Hand(cards)
     self.assertEqual(ranker.rank(hand), Rank.FOUR_OF_A_KIND)
示例#8
0
 def test_high_card(self):
     ranker = HandRanker()
     cards = [
         Card('S', 13),
         Card('H', 11),
         Card('D', 3),
         Card('C', 10),
         Card('S', 9)
     ]
     hand = Hand(cards)
     self.assertEqual(ranker.rank(hand), Rank.HIGH_CARD)
示例#9
0
文件: game.py 项目: metchel/poker
    def __init__(self, players, event_stream):
        self.state = GameStates.BEGIN

        if len(players) < 2:
            raise Error("")

        self.players = players
        self.event_stream = event_stream

        self.transition = {
                GameStates.BEGIN: GameStates.START_ROUND,
                GameStates.START_ROUND: GameStates.DEALING,
                GameStates.DEALING: GameStates.FIRST_BET,
                GameStates.FIRST_BET: GameStates.FLOP,
                GameStates.FLOP: GameStates.SECOND_BET,
                GameStates.SECOND_BET: GameStates.RIVER,
                GameStates.RIVER: GameStates.THIRD_BET,
                GameStates.THIRD_BET: GameStates.TURN,
                GameStates.TURN: GameStates.LAST_BET,
                GameStates.LAST_BET: GameStates.END_ROUND,
                GameStates.END_ROUND: GameStates.START_ROUND }
        
        self.state_action = {
                GameStates.START_ROUND: self.start_round,
                GameStates.DEALING: self.deal,
                GameStates.FIRST_BET: self.first_bet,
                GameStates.FLOP: self.flop,
                GameStates.SECOND_BET: self.second_bet,
                GameStates.RIVER: self.river,
                GameStates.THIRD_BET: self.third_bet,
                GameStates.TURN: self.turn,
                GameStates.LAST_BET: self.last_bet,
                GameStates.END_ROUND: self.end_round,
                GameStates.DONE: self.end_game }

        self.player_turn = self.players[0]
        self.player_consensus = 0
        self.pot = 0
        self.hand_ranker = HandRanker()