我正在尝试添加一个功能,询问玩家是否要重新启动,如果键入是,则游戏应该重新启动。
我查了一下,但是什么也找不到对我有用的
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()
的函数。
我该怎么做?
答案 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()