如何问玩家死后是否要重试,如​​果回答“是”,则使游戏重新开始

时间:2019-05-06 17:20:07

标签: python pygame

我正在尝试添加一个功能,询问玩家是否要重新启动,如果键入是,则游戏应该重新启动。

我查了一下,但是什么也找不到对我有用的

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 个答案:

答案 0 :(得分:1)

即使很小的输入验证,也是一种有用的工具。

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()

答案 1 :(得分:0)

您可能想在python中尝试输入功能。

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

然后根据输入,可以调用再次启动游戏的函数。

答案 2 :(得分:0)

欢迎使用StackOverflow。

实现所需功能的一种简单方法是使用while循环。在每次迭代(游戏)结束时,您应该询问用户是否要继续,是否不希望退出循环。

我建议您采用现有代码,并将其重新发布为play_game函数,该函数在游戏结束时返回。这样一来,您可以在逻辑中的任何时候使用return语句终止游戏,这也可能使您的逻辑也更简单。

假设您已完成此操作,则可以编写如下循环:

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

与用户的对话可能更加复杂,但这是基本思想。

答案 3 :(得分:0)

好吧,仅使用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()