我一直在尝试用Python制作一个基本的文本游戏,我正在使用词典来包含玩家的信息。我想这样做,当玩家的健康状况达到0时,代码将停止运行。我很难做到这一点。我的字典,在我的代码的开头,看起来像这样:
playerAtt = {}
playerAtt["Weapon"] = "Baseball bat"
playerAtt["Party"] = "Empty"
playerAtt["Health"] = 15
playerAtt["Cash"] = "$100"
print(playerAtt)
if playerAtt['Health'] <= 0:
exit()
我写的底部部分试图让玩家的健康状况达到零时停止运行,但似乎没有效果。在我的游戏的一个路径中,您的健康状况设置为零,游戏应该结束,但程序继续运行:
townChoice = raw_input("You met a traveler in the town. 'Yo. I'm Bob. Let's be friends.' Will you invite him to your party? Y/N\n")
if townChoice == 'y' or townChoice == 'Y':
print("That kind traveler was not such a kind traveler. He stabbed you with a machete. RIP " + Name + '.')
playerAtt['Health'] == 0
当你到达游戏的这一部分时,它只是打印信息,然后继续下一个决定。在这种情况下,我可以通过在print命令下执行exit()手动结束程序,但是在某些情况下玩家只会失去一小部分健康状况,并且最终会达到零。对不起,如果这是一个愚蠢的问题,我只在Python上工作了几天。
答案 0 :(得分:0)
当您将玩家的生命值设置为0时,您有两个“=”
答案 1 :(得分:0)
我在定义
时放了2 ==而不是1 = playerAtt["Health"].
另外,我需要确保它一直在检查玩家的健康状况是否为零,所以我使用了一个while循环。我用了
while playerAtt["Health"] = 0:
deathmsg()
exit()
修复它。 deathMsg是我用来显示随机死亡消息的函数,以获取更多信息。