私はPythonで基本的なテキストゲームを作ろうとしており、辞書を使ってプレイヤーの情報を入れています。プレイヤーの健康状態が0になると、コードの実行が停止するようにしたいと思います。私はそれを起こすのに問題があった。if文の中の辞書を変更する
playerAtt = {}
playerAtt["Weapon"] = "Baseball bat"
playerAtt["Party"] = "Empty"
playerAtt["Health"] = 15
playerAtt["Cash"] = "$100"
print(playerAtt)
if playerAtt['Health'] <= 0:
exit()
下のセクションでは、私がしようとすると、プレーヤーの健康がゼロになったときに、コードストップ稼動を作るために書いたものですが、それはしていません。私のコードの先頭にある私の辞書には、次のようになります動作するようです。私のゲームの1回のパスでは、あなたの健康はゼロに設定されますし、ゲームが終了になっているが、プログラムは実行され続け:
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に取り組んできました。
playerAtt ['Health'] == 0'は0に設定されません。 – depperm
を試してください。また、その文が継続的にテストされているわけではありません。彼はそれを失い、一回のテストではうまくいかない。 –