0
何らかの理由で私のif文が意図したとおりのことをしません。なぜ私はそれが正しくフォーマットされていると確信しているのか分からない。文が関数を呼び出さない場合
def attack():
os.system('clear')
pAttack=random.randint(playerIG.attack/2, playerIG.attack)
eAttack=random.randint(enemy.attack/2, enemy.attack)
if pAttack==playerIG.attack/2:
print "You miss!"
else:
enemy.health-=pAttack
print "You deal %s damage" % pAttack
option=raw_input("")
if enemy.health<=0:
win()
os.system('clear')
if eAttack==enemy.attack/2:
print "The enemy missed!"
else:
playerIG.health-=eAttack
print "The enemy deals %s damage" % eAttack
option=raw_input("")
if playerIG.health<=0:
die()
else:
fight()
私たちが見ている部分がある:
if enemy.health<=0:
win()
私がなぜわからないが、それは敵の健康がゼロ以下の場合でも)(勝利を呼び出しません。
勝利機能:
def win():
print "You have successfully killed the %s!" % enemy.name
print "You have gained %s gold!" % enemy.goldgain
任意のソリューションは、おかげで参考になります!
'enemy.health <= 0'はどうやって知っていますか? – tjollans
尋ねると、enemy.health <= 0?私はプレーヤーの健康状態と同じコードを持っていますし、die()関数にはうまくいきます。なぜ敵の健康がうまくいかないのか分かりません。 – Nicolas
私が言っていることは、if文が実行されていないことです。最も簡単な説明は 'enemy.health'が0未満になることはないということです。 – tjollans