Esempio n. 1
0
 def __init__(self, n_seats, ranking_encoding='norm', concat=True, drop_cards=False, split_cards=False):
     self.n_seats = n_seats
     self.ranking_encoding = ranking_encoding
     self._deck = np.array(Deck.GetFullDeck(), dtype=np.int64)
     self._deck_alt = np.concatenate((np.array([-1], dtype=np.int64), self._deck))
     self._evaluator = Evaluator()
     self.concat = concat
Esempio n. 2
0
 def __init__(self, n_seats, ranking_encoding='norm'):
     self.n_seats = n_seats
     self.ranking_encoding = ranking_encoding
     self.n_dim = 265 + 104 + 6 + n_seats + 6 * n_seats + (7463 if ranking_encoding == 'one-hot' else 1 if ranking_encoding == 'norm' else 0)
     self._deck = np.array(Deck.GetFullDeck(), dtype=np.int64)
     self._deck_alt = np.concatenate((np.array([-1], dtype=np.int64), self._deck))
     self._evaluator = Evaluator()
Esempio n. 3
0
def get_card_dict():
    deck = Deck()
    deck_list = deck.GetFullDeck()
    dict = {}
    for i, value in enumerate(deck_list):
        dict[value] = i
    return dict
Esempio n. 4
0
    def init_game(self, SB, BB, GameState):
        """

        :param SB:
        :param BB:
        :param GameState:
        :return:
        """

        self.GameState = GameState

        self.SB = SB

        self.BB = BB

        self.players = ['_', self.SB, self.BB]

        # creating mapping of card bit int to int to make
        # it easier for tracking state
        deck = Deck.GetFullDeck()
        deck_dict = {}
        for i in range(len(deck)):
            deck_dict[deck[i]] = i

        self.deck_lookup = deck_dict
Esempio n. 5
0
 def reset(self):
     self.pot = 0
     self.street = GameState.PREFLOP
     self.cards = []
     self.deck.cards = Deck.GetFullDeck()
     self.rng.shuffle(self.deck.cards)
     self.rng.shuffle(self.players)
     self.active_players = self.n_players
     initial_draw = self.deck.draw(self.n_players * 2)
     for i, player in enumerate(self.players):
         player.reset()
         player.position = i
         player.cards = [initial_draw[i], initial_draw[i+self.n_players]]
         player.stack = self.rng.integers(self.stack_low, self.stack_high, 1)[0]
     self.bet_to_match = 0
     self.history = []