Python 更新一个整数的值(我想)
我是python新手。目前我正在和一个朋友编写一个游戏。我们目前正在研制一种作战系统,唯一的问题是我们不知道一旦造成伤害,如何更新敌人的健康状况。代码如下Python 更新一个整数的值(我想),python,Python,我是python新手。目前我正在和一个朋友编写一个游戏。我们目前正在研制一种作战系统,唯一的问题是我们不知道一旦造成伤害,如何更新敌人的健康状况。代码如下 enemy1_health = 150 broadsword_attack = 20 rusty_knife = 10.5 attacks = ["broadsword swing " + str(broadsword_attack), "rusty knife jab " + str(rust
enemy1_health = 150
broadsword_attack = 20
rusty_knife = 10.5
attacks = ["broadsword swing " + str(broadsword_attack), "rusty knife jab " + str(rusty_knife) ]
while enemy1_health > 0:
while player_health > 0:
enemy1_health = 150
print(attacks)
attackchoice = input("Choose an attack: ")
if attackchoice == ("broadsword swing"):
print (int(enemy1_health - 20))
if attackchoice == ("rusty knife jab"):
print (int(enemy1_health - 10.5))
print("you died")
quit()
print("you cleared the level")```
您需要使用以下语句更改打印语句之外的敌人生命值:
enemy1_health = enemy1_health - 20
enemy1_health = 150
broadsword_attack = 20
rusty_knife = 10.5
player_health = 100
attacks = ["broadsword swing " + str(broadsword_attack), "rusty knife jab " + str(rusty_knife)]
while enemy1_health > 0:
print(attacks)
attackchoice = input("Choose an attack: ")
if attackchoice == ("broadsword swing"):
enemy1_health -= 20
if attackchoice == ("rusty knife jab"):
enemy1_health -= 10.5
print(enemy1_health)
if player_health <= 0:
print("you died")
quit()
print("you cleared the level")
或者像这样,做同样的事情:
enemy1_health -= 20
您还可以在每次循环循环时重置enemy1_运行状况,然后将其移除
你没有定义玩家的健康,定义它
你的循环会一直持续到你死
因此,您的代码应该更像这样:
enemy1_health = enemy1_health - 20
enemy1_health = 150
broadsword_attack = 20
rusty_knife = 10.5
player_health = 100
attacks = ["broadsword swing " + str(broadsword_attack), "rusty knife jab " + str(rusty_knife)]
while enemy1_health > 0:
print(attacks)
attackchoice = input("Choose an attack: ")
if attackchoice == ("broadsword swing"):
enemy1_health -= 20
if attackchoice == ("rusty knife jab"):
enemy1_health -= 10.5
print(enemy1_health)
if player_health <= 0:
print("you died")
quit()
print("you cleared the level")
enemy1\u健康=150
大刀攻击=20
生锈的_刀=10.5
玩家健康=100
攻击=[“大刀挥舞”+str(大刀攻击),“生锈的刀戳”+str(生锈的刀)]
当enemy1_health>0时:
打印(攻击)
attackchoice=输入(“选择攻击:”)
如果攻击选择==(“大刀摆动”):
灌肠1_健康-=20
如果攻击选择==(“生锈的刀刺”):
灌肠1_健康-=10.5
打印(enemy1_健康)
如果player_health您必须定义while循环上方的健康度,如下所示:
broadsword_attack = 20
rusty_knife = 10.5
attacks = ["broadsword swing " + str(broadsword_attack), "rusty knife jab " + str(rusty_knife) ]
enemy1_health = 150
while enemy1_health > 0:
while player_health > 0:
print(attacks)
attackchoice = input("Choose an attack: ")
if attackchoice == ("broadsword swing"):
enemy1_health -=20
print (int(enemy1_health))
if attackchoice == ("rusty knife jab"):
enemy1_health -=10.5
print (int(enemy1_health))
print("you died")
quit()
print("you cleared the level")
避免在循环的每次迭代中将运行状况重新定义为150。并将这些值分配给health,而不仅仅是打印它。这意味着无论你做什么,敌人都不会失去健康。
另外还有一个问题,因为你从不减少玩家的生命值,这将导致一个无限循环你需要在print语句之外更改敌人的生命值。
做:
你也可以对其他攻击做同样的处理
您还可以在while循环中定义敌人的生命值。您需要在循环之外定义它。否。这与我无关that@loki你在说什么?这很有帮助