Esempio n. 1
0
 def four_of_a_kind(p1, p2) -> int:
     if get_keys_of_value(Card.numbers_count(p1), 4) > get_keys_of_value(Card.numbers_count(p2), 4):
         return 1
     elif get_keys_of_value(Card.numbers_count(p1), 4) < get_keys_of_value(Card.numbers_count(p2), 4):
         return 2
     # else, tie in four, check the 5th card
     return high_card(p1, p2)
Esempio n. 2
0
 def three_of_a_kind(p1, p2) -> int:
     if get_keys_of_value(Card.numbers_count(p1), 3) > get_keys_of_value(Card.numbers_count(p2), 3):
         return 1
     elif get_keys_of_value(Card.numbers_count(p1), 3) < get_keys_of_value(Card.numbers_count(p2), 3):
         return 2
     # else, three is tied
     return high_card(p1, p2)
Esempio n. 3
0
 def two_pair(p1, p2) -> int:
     if get_keys_of_value(Card.numbers_count(p1), 2) > get_keys_of_value(Card.numbers_count(p2), 2):
         return 1
     elif get_keys_of_value(Card.numbers_count(p1), 2) < get_keys_of_value(Card.numbers_count(p2), 2):
         return 2
     # else, tie in both pairs
     return high_card(p1, p2)
Esempio n. 4
0
 def pair(p1, p2) -> int:
     if get_keys_of_value(Card.numbers_count(p1), 2) > get_keys_of_value(Card.numbers_count(p2), 2):
         return 1
     elif get_keys_of_value(Card.numbers_count(p1), 2) < get_keys_of_value(Card.numbers_count(p2), 2):
         return 2
     # else, pair is tied
     return high_card(p1, p2)
Esempio n. 5
0
 def full_house(p1, p2) -> int:
     if get_keys_of_value(Card.numbers_count(p1), 3) > get_keys_of_value(Card.numbers_count(p2), 3):
         return 1
     elif get_keys_of_value(Card.numbers_count(p1), 3) < get_keys_of_value(Card.numbers_count(p2), 3):
         return 2
     # else, tie in threes, check pairs
     if get_keys_of_value(Card.numbers_count(p1), 2) > get_keys_of_value(Card.numbers_count(p2), 2):
         return 1
     elif get_keys_of_value(Card.numbers_count(p1), 2) < get_keys_of_value(Card.numbers_count(p2), 2):
         return 2
     # else, complete tie
     return 0
Esempio n. 6
0
 def pair(cards) -> bool:
     return max(Card.numbers_count(cards).values()) == 2
Esempio n. 7
0
 def two_pair(cards) -> bool:
     n = list(Card.numbers_count(cards).values())
     return n == [2, 2, 1] or n == [2, 1, 2] or n == [1, 2, 2]
Esempio n. 8
0
 def three_of_a_kind(cards) -> bool:
     return max(Card.numbers_count(cards).values()) == 3
Esempio n. 9
0
 def full_house(cards) -> bool:
     n = Card.numbers_count(cards)
     if len(n.keys()) == 2:
         values = set(n.values())
         return len(values.difference({2, 3})) == 0