def play(self): while True: cards = self.game.get_my_cards() if len(cards) == 0: self.game.bet(1) return # Hit on soft 17 if BlackjackDeck.sum(cards) < (18 if 1 in BlackjackDeck.card_values(cards) else 17): self.game.hit() continue return
def play(self): while True: cards = self.game.get_my_cards() if len(cards) == 0: self.game.bet(1) return # Hit on soft 17 if BlackjackDeck.sum(cards) < ( 18 if 1 in BlackjackDeck.card_values(cards) else 17): self.game.hit() continue return
def play(self): while True: cards = self.game.get_my_cards() if len(cards) == 0: self.game.bet(1) return total = BlackjackDeck.sum(cards) values = BlackjackDeck.card_values(cards) dealer_card = BlackjackDeck.card_value(self.game.get_dealer_card()) if self.game.can_split(): if values[0] == 1 or values[0] == 8: self.game.split() return if ( values[0] in (2, 3, 7) and dealer_card in (2, 3, 4, 5, 6, 7) or values[0] == 4 and dealer_card in (5, 6) or values[0] == 6 and dealer_card in (2, 3, 4, 5, 6) or values[0] == 9 and dealer_card not in (1, 7) ): self.game.split() return if 1 in BlackjackDeck.card_values(cards): if total >= 19: return if total <= 17: if self.game.can_double() and ( dealer_card in (5, 6) or dealer_card == 4 and total >= 15 or dealer_card == 3 and total == 17 ): self.game.double() return self.game.hit() continue # A-7 == 18 if self.game.can_double() and dealer_card in (3, 4, 5, 6): self.game.double() return if dealer_card in (2, 3, 4, 5, 6, 7, 8): return self.game.hit() continue if total >= 17: return if total >= 13 and dealer_card in (2, 3, 4, 5, 6): return if total == 12 and dealer_card in (4, 5, 6): return if ( self.game.can_double() and total >= 9 and total <= 11 and ( dealer_card in (3, 4, 5, 6) or total >= 10 and dealer_card in (2, 7, 8, 9) or total == 11 and dealer_card == 10 ) ): self.game.double() return self.game.hit()
def sum(self): return BlackjackDeck.sum(self.cards)
def play(self): while True: cards = self.game.get_my_cards() if len(cards) == 0: self.game.bet(1) return total = BlackjackDeck.sum(cards) values = BlackjackDeck.card_values(cards) dealer_card = BlackjackDeck.card_value(self.game.get_dealer_card()) if self.game.can_split(): if values[0] == 1 or values[0] == 8: self.game.split() return if values[0] in (2, 3, 7) and dealer_card in (2, 3, 4, 5, 6, 7) or \ values[0] == 4 and dealer_card in (5, 6) or \ values[0] == 6 and dealer_card in (2, 3, 4, 5, 6) or \ values[0] == 9 and dealer_card not in (1, 7): self.game.split() return if 1 in BlackjackDeck.card_values(cards): if total >= 19: return if total <= 17: if self.game.can_double() and ( dealer_card in (5, 6) or dealer_card == 4 and total >= 15 or dealer_card == 3 and total == 17): self.game.double() return self.game.hit() continue # A-7 == 18 if self.game.can_double() and dealer_card in (3, 4, 5, 6): self.game.double() return if dealer_card in (2, 3, 4, 5, 6, 7, 8): return self.game.hit() continue if total >= 17: return if total >= 13 and dealer_card in (2, 3, 4, 5, 6): return if total == 12 and dealer_card in (4, 5, 6): return if self.game.can_double() and total >= 9 and total <= 11 and ( dealer_card in (3, 4, 5, 6) or total >= 10 and dealer_card in (2, 7, 8, 9) or total == 11 and dealer_card == 10): self.game.double() return self.game.hit()