def update(self, mouse_X, mouse_Y, round_over, playerHand, dealerHand, text, deck, discard_pile, wins, losses): """runs an update check to see if player hit the button and stand/end round if hit""" winner = text if self.rect.collidepoint(int(mouse_X), int(mouse_Y)) == 1 and round_over == 0: #if round isn't over set to end of round if round_over == 0: round_over = 1 #determine current totals in each hand player_total = gf.checkValue(playerHand) dealer_total = gf.checkValue(dealerHand) #if dealer is under 17, hit until he is at 17+ while dealer_total < 17: deck, discard_pile, dealerHand = Deck.hit( deck, discard_pile, dealerHand) dealer_total = gf.checkValue(dealerHand) #if dealer hit pushes over 21 then he loses, otherwise, determine winner if dealer_total > 21: winner = "dealer bust" wins += 1 else: winner, wins, losses = gf.determineWinner( player_total, dealer_total, wins, losses) return round_over, winner, deck, discard_pile, dealerHand, playerHand, wins, losses
def update(self, mouse_X, mouse_Y, deck, discard_pile, player_hand, dealer_hand, round_over, text, wins, losses): """respond to user request to double down""" winner = text if self.rect.collidepoint(int(mouse_X), int( mouse_Y)) == 1 and round_over == 0 and len(player_hand) == 2: #round is over, distribute card to user and see who wins round_over = 1 deck, discard_pile, player_hand = Deck.hit(deck, discard_pile, player_hand) player_value = gf.checkValue(player_hand) dealer_value = gf.checkValue(dealer_hand) if player_value > 21: winner = "player bust" losses += 1 else: if dealer_value < 17: deck, discard_pile, dealer_hand = Deck.hit( deck, discard_pile, dealer_hand) dealer_value = gf.checkValue(dealer_hand) #check for a bust on dealer if dealer_value > 21: winner = "dealer bust" wins += 1 elif player_value > dealer_value: winner = "player" wins += 1 elif player_value < dealer_value: winner = "dealer" losses += 1 elif player_value == dealer_value: winner = "push" return deck, discard_pile, player_hand, dealer_hand, round_over, winner, wins, losses
def update(self, mouse_X, mouse_Y, deck, discard_pile, player, round_over, text, losses): """respons to the users request to to hit""" winner = text if self.rect.collidepoint(int(mouse_X), int(mouse_Y)) == 1 and round_over == 0: deck, discard_pile, player = Deck.hit(deck, discard_pile, player) hand_total = gf.checkValue(player) #check for a bust if hand_total > 21: round_over = 1 losses += 1 winner = "player bust" return deck, discard_pile, player, round_over, winner, losses