def betRequest(self, game_state): bet = 0 all_my_money = 0 try: myself = game_state["players"][game_state["in_action"]] cards_hand = myself["hole_cards"] cards_desk = game_state["community_cards"] cards_all = cards_hand + cards_desk all_my_money = int(myself["stack"]) ranking_service_all_cards = Ranking(cards_all) ranking_service_hand = Ranking(cards_hand) #ranking = Ranking(cards_hand) chen_ranking = ranking_service_all_cards.get_chen_ranking() ranking = ranking_service_all_cards.getRanking() is_preflop = len(game_state["community_cards"]) == 0 active_player_count = len( filter(lambda player: player["status"] == "active", game_state["players"])) all_in_value = myself["stack"] minimum_raise = int(game_state["minimum_raise"]) small_blind = int(game_state["small_blind"]) if is_preflop: if active_player_count == 2: if chen_ranking >= 4.5: bet = all_in_value elif active_player_count == 3: if chen_ranking >= 5.5: bet = all_in_value elif active_player_count == 4: if chen_ranking >= 6: bet = all_in_value if bet != all_in_value: did_somebody_raise = minimum_raise >= small_blind * 2 if not did_somebody_raise: bet = minimum_raise * 2 if minimum_raise > small_blind * 8 and chen_ranking >= 7.5: bet = all_in_value else: TWO_PAIRS = 2 if ranking == 0: bet = 0 elif ranking == 1: bet = 2 * small_blind # desk_card_values = [c for c in cards_desk] # largest_desk_card_value = m elif ranking >= TWO_PAIRS: bet = all_in_value #out_player_count = #bet = max(100, int(game_state["minimum_raise"])) except: print "Meghaltam :(" return int(min(bet, all_my_money))
def testRanking(self): # r=Player() # r.get cards = [{ "rank": "6", "suit": "hearts" }, { "rank": "K", "suit": "spades" }, { "rank": "A", "suit": "spades" }, { "rank": "Q", "suit": "hearts" }, { "rank": "6", "suit": "clubs" }] r = Ranking(cards) self.assertEqual(1, r.getRanking()) cards = [{ "rank": "6", "suit": "hearts" }, { "rank": "K", "suit": "spades" }, { "rank": "A", "suit": "spades" }, { "rank": "A", "suit": "hearts" }, { "rank": "6", "suit": "clubs" }] r = Ranking(cards) self.assertEqual(2, r.getRanking()) cards = [{ "rank": "6", "suit": "hearts" }, { "rank": "K", "suit": "spades" }, { "rank": "6", "suit": "spades" }, { "rank": "A", "suit": "hearts" }, { "rank": "6", "suit": "clubs" }] r = Ranking(cards) self.assertEqual(3, r.getRanking()) cards = [{ "rank": "10", "suit": "spades" }, { "rank": "8", "suit": "diamonds" }, { "rank": "J", "suit": "hearts" }, { "rank": "9", "suit": "spades" }, { "rank": "Q", "suit": "clubs" }] r = Ranking(cards) self.assertEqual(4, r.getRanking()) cards = [{ "rank": "5", "suit": "diamonds" }, { "rank": "2", "suit": "diamonds" }, { "rank": "7", "suit": "diamonds" }, { "rank": "8", "suit": "clubs" }, { "rank": "8", "suit": "diamonds" }, { "rank": "J", "suit": "diamonds" }] r = Ranking(cards) self.assertEqual(5, r.getRanking()) cards = [{ "rank": "6", "suit": "hearts" }, { "rank": "A", "suit": "spades" }, { "rank": "6", "suit": "spades" }, { "rank": "A", "suit": "hearts" }, { "rank": "6", "suit": "clubs" }] r = Ranking(cards) self.assertEqual(6, r.getRanking()) cards = [{ "rank": "A", "suit": "diamonds" }, { "rank": "A", "suit": "spades" }, { "rank": "6", "suit": "spades" }, { "rank": "A", "suit": "hearts" }, { "rank": "A", "suit": "clubs" }] r = Ranking(cards) self.assertEqual(7, r.getRanking()) cards = [{ "rank": "8", "suit": "spades" }, { "rank": "J", "suit": "spades" }, { "rank": "Q", "suit": "spades" }, { "rank": "10", "suit": "spades" }, { "rank": "9", "suit": "spades" }] r = Ranking(cards) self.assertEqual(8, r.getRanking())