Я пытаюсь сделать так, чтобы пользователь мог переместить IntSlider со значениями от 1 до текущего количества фишек, а затем нажать кнопку «Сделать ставку», чтобы сделать ставку в блэкджеке. Первоначально я использовал цикл while и застрял в бесконечном цикле. При удалении цикла while я теперь не могу перехватить событие click, и оно перемещается в коде вперед и обрабатывает карты со ставкой 0.
def take_bet(chips):
print(f'You have {chips.total} chips to bet.')
bet_slider = interactive(place_bet, bet = (1,chips.total,1))
display(button)
display(bet_slider)
button.on_click(on_button_clicked)
chips.bet = bet_placed
def on_button_clicked(b):
bet_placed = bet_slider.result
bet_slider.close()
b.close()
print(bet_placed)
def run_blackjack(player_chips):
print("Welcome to blackjack!")
print("You start the game with 100 chips, good luck!")
global playing
while True:
playing = True
the_deck = Deck()
the_deck.shuffle()
player_hand = Hand()
dealer_hand = Hand()
dealer_hand.add_card(the_deck.deal())
player_hand.add_card(the_deck.deal())
dealer_hand.add_card(the_deck.deal())
player_hand.add_card(the_deck.deal())
take_bet(player_chips)
show_some(player_hand, dealer_hand)
while playing:
hit_or_stand(the_deck, player_hand)
show_some(player_hand, dealer_hand)
if player_hand.value > 21:
player_busts(player_chips)
break