Как спросить игрока, хотят ли они повторить попытку после смерти, и если он скажет «да», перезапустите игру - PullRequest
1 голос
/ 06 мая 2019

Я пытаюсь добавить функцию, которая спрашивает игрока, если он хочет перезапустить и, если они набирают «да», то игра должна перезапуститься.

Я посмотрел его, но не нашел ничего, что помогло бы мне

elif response_turn3 == "right":
                  print("You carry on down the path, whistling a merry tune.")
                  time.sleep(4)
                  print("Suddenly, a flash flood sweeps you away, freezing you to death in the cold, icy water.GAME OVER :(")
                  print("Try again?")

Тогда это будет что-то вроде

   (if yes then restart)

Как это будет работать в коде?

Для того, чтобы сделать это, мне нужно определить функцию, такую ​​как game_start().

Как я могу это сделать?

Ответы [ 4 ]

1 голос
/ 06 мая 2019

Проверка ввода, даже минимальная, является полезным инструментом.

valid_answer = False
while not valid_answer:
  answer = input("Try again? (y/n)")
  if answer == 'y' or answer == 'n':
    valid_answer = True
    if answer == 'y':
      restart_game()
    else:
      quit()
0 голосов
/ 06 мая 2019

Добро пожаловать в StackOverflow.

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

Я бы посоветовал вам взять существующий код и повторно привести его какplay_game функция, которая возвращается, когда игра окончена.Это позволит вам завершить игру с помощью оператора return в любой точке вашей логики, что, вероятно, также сделает вашу логику более простой.

Предположим, что вы это сделали, вы можете написать цикл, подобный

while True:
    play_game()
    answer = input("Would you like to play again? ")
    if not ('y' in answer.lower()):
        break

Диалог с пользователем может быть более сложным, но это основная идея.

0 голосов
/ 06 мая 2019

Ну, невозможно перезапустить скрипт только с помощью команд python (вы можете использовать os.System(), но это довольно сложно).Но вы можете заключить скрипт в функцию game() и затем вызывать его, когда пользователь говорит «да».

elif response_turn3 == "right":
              print("You carry on down the path, whistling a merry tune.")
              time.sleep(4)
              print("Suddenly, a flash flood sweeps you away, freezing you to death in the cold, icy water. GAME OVER :(")
              response=input("Try again?")
              if(response=="yes"):
                            game()
0 голосов
/ 06 мая 2019

Возможно, вы захотите попробовать функцию ввода в Python.

try_again = input("Try again?")
if (try_again == True):
    game_start()

И затем, в зависимости от ввода, вы можете вызвать функцию, которая запускает игру снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...