def test_card_value(self): # Test non-Ace self.assertEqual(Card.cards_value(Test_Card_Methods.card_list), 21) # Test Ace card_list2 = [Card("5", "Hearts", 5), Card("Ace", "Hearts", (1, 11))] self.assertEqual(Card.cards_value(card_list2), 16) # Push the total over 21 with Ace == 11 card_list2.append(Card("King", "Hearts", 10)) self.assertEqual(Card.cards_value(card_list2), 16)
def dealer_turn(player_score: int): print(f"\nDealer shows: {Card.string_cards(DEALER_CARDS)}") min_score = 17 if player_score < 17: min_score = player_score while over_check(DEALER_CARDS, min_score): deal("D") print(f"Dealer shows: {Card.string_cards(DEALER_CARDS)}") return Card.cards_value(DEALER_CARDS)
def player_turn(): while over_check(PLAYER_CARDS, 21): print(f"\nDealer shows: {Card.string_cards(DEALER_CARDS, True)}") print(f"You have: {Card.string_cards(PLAYER_CARDS)}\n") hit_status = "" while hit_status not in ("y", "n"): hit_status = input(f"Hit? Y/N ").lower() if hit_status == "y": deal("P") else: break return Card.cards_value(PLAYER_CARDS)
def over_check(card_list: int, threshold_num: int) -> bool: return Card.cards_value(card_list) <= threshold_num