Действительно ли возможно “декомпилировать” Windows .exe? Или, по крайней мере, просмотрите блок?

Вы не проверяете результат после того, как игрок решил встать. Поскольку вы только deal() один раз до цикла while True, вы просто получите бесконечное условие, если вы решите стоять несколько раз. Подсчитайте счет после того, как дилер забрал все свои карты.

def hit_stand(deck, player, dealer, hand, stand):
    print("What would you like to do")
    print("[1] - Hit\n[2] - Stand")
    choice = input("> ")
    hand = False
    if choice == '1':
        player.append(deck.pop())
    elif choice == '2':
        stand = True
        while score(dealer) <= 16:
            print(score(dealer))
            dealer.append(deck.pop())
        display_info(player, dealer, stand)
        results(player, dealer, first_hand, stand) # HERE

На несколько не связанной ноте вылет из игры после определения окончательного счета не очень элегантен. Вы захотите взглянуть на лучшую конструкцию, чем while True: и sys.exit(), чтобы контролировать поток, но это упражнение для вас.

Наконец, вы не должны использовать sum в качестве имени переменной внутри score(), потому что это встроенная функция, которую вы переопределяете. Используйте что-то вроде total, чтобы не рисковать маскированием самой встроенной функции.

222
задан swilliams 7 November 2008 в 08:44
поделиться

1 ответ

Я сказал бы в 2019, Ghidra ( https://ghidra-sre.org / ) стоит проверить. Это - открытый исходный код (и свободный) и имеет феноменальные возможности анализа кода, включая способность декомпилироваться полностью назад к довольно читаемому коду C.

1
ответ дан 23 November 2019 в 04:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: