Ejemplo n.º 1
0
def naive_rank(pocket, community_cards):
    print("Evaluating")
    pocket = [Card(v, s) for v, s in pocket]
    community_cards = [Card(v, s) for v, s in community_cards]
    unopened_slots = min(3, 7 - len(pocket) - len(community_cards))
    deck = Deck()
    deck.removeall(pocket + community_cards)
    count = 0
    _rank = 0
    for possibility in itertools.combinations(deck.cards, r=unopened_slots):
        _rank += max(generate_possible_hands(pocket, community_cards + list(possibility))).rank
        count += 1
    LOGGER.debug("Evaluated %d hands" % count)

    return _rank / count
Ejemplo n.º 2
0
 def __init__(self, players, button_player, small_blind, event_queue, game):
     self.game = game
     self.event_queue = event_queue
     self.players = players[:]
     self.folded_players = []
     self.small_blind = small_blind
     self.betting_player = None
     self.pot = None
     self.deck = Deck()
     self.community_cards = []
     self.button_player = button_player
     self.pot = Pot(self.small_blind)
     self.action_log = []
     LOGGER.info("Dealing cards")
     for player in self.players:
         player.set_pocket(self.deck.draw_single(), self.deck.draw_single())