再次播放循环使用“否”,但不是“是”

2024-09-27 23:25:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我把while True放在程序的开头,把循环放在游戏的结尾。如果你按n键,效果很好。如果你按“y”,根本不起作用。你知道吗

while True:
    plyagn = input("Would you like to play again? (y/n)")
    if plyagn in ("y", "n"):
        print("*** Please choose 'y' or 'n'! ***")
    if plyagn == "y":
        continue
    if plyagn == "n":
        break



                while True:
                    again = input("Would you like to play again? (y/n)")
                    if again == "y":
                        continue
                    else:
                        quit()

如果我按n键,效果会很好,游戏就结束了。但是,当我按“y”时,它会一遍又一遍地重复这个问题,不会重新启动游戏。完全没有错误消息。你知道吗


Tags: to程序youtrue游戏inputplayif
1条回答
网友
1楼 · 发布于 2024-09-27 23:25:29

假设上面发布的代码只是整个游戏的一个片段,只是玩家选择是否继续游戏的“结束游戏”的代码,那么这就有点不合适了。你知道吗

对于一个简单的、可重复的游戏,应该用伪代码设计如下:

game_over = False
while not game_over:
    #initialize/reset the game variables
    #Do the main game loop
        #Check for game over to break out of game loop
    #Ask to play again

然后,在要求重新玩中,您需要操作游戏的值,以便如果您选择“n”,它将结束游戏(或者确切地说,while循环),否则,恢复循环(再次进行游戏初始化)。你知道吗

否则,您可以更改代码并添加名为game\u reset()的函数,该函数将游戏的全局变量重置为默认值,而不是continue。它看起来像:

if again=='y':
    game_reset()
    break()

希望这有帮助。你知道吗

相关问题 更多 >

    热门问题