Застрял в цикле, или не может отловить события щелчка при использовании интерактивного. Что мне нужно изменить? - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь сделать так, чтобы пользователь мог переместить 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...