def get_result(self, playerjm): total_chips = 2000.0 if self._get_folded() == playerjm: return 0 # -self.invested[playerjm] # 0 elif self._get_folded() == (playerjm + 1) % 2: return (self.pot - self.invested[playerjm]) / total_chips else: # evaluate if self.opp_hand is None: self.opp_hand = [] while len(self.opp_hand) < 2: c = cardsDict[random.randrange(52)] if not c in self.hand + self.community_cards + self.opp_hand: self.opp_hand += [c] while len(self.community_cards) < 5: c = cardsDict[random.randrange(52)] if not c in self.hand + self.community_cards + self.opp_hand: self.community_cards += [c] player_0 = n_card_rank(self.hand + self.community_cards) player_2 = n_card_rank(self.opp_hand + self.community_cards) if player_0 == max(player_0, player_2): return (self.pot - self.invested[playerjm]) / total_chips if playerjm == 0 else 0 # -self.invested[playerjm] # else: return 0 if playerjm == 0 else (self.pot - self.invested[playerjm]) / total_chips
def determine_ranking(self, community_cards, hole_cards): # determine the best hand for each player hand_ranks = [] for player in self.active_players: cards = community_cards + hole_cards[player] hand_rank = n_card_rank(cards) self.game.output("Player: %s with %s using cards %s" % (player, hand_rank, cards)) hand_ranks.append((hand_rank, player)) return hand_ranks