Python 坚持开发作战功能
基本上,我正在学习编码,并看到了这个不错的龙王国示例任务。一切都很好,直到我达到了我想参加战斗的阶段Python 坚持开发作战功能,python,Python,基本上,我正在学习编码,并看到了这个不错的龙王国示例任务。一切都很好,直到我达到了我想参加战斗的阶段 def cave_2_fight(): def monster_hit(): m_hit = random.randint(1, 11) return m_hit def player_hit(): p_hit = random.randint(1, 11)
def cave_2_fight():
def monster_hit():
m_hit = random.randint(1, 11)
return m_hit
def player_hit():
p_hit = random.randint(1, 11)
return p_hit
monster_hp = random.randint(1, 101)
player_hp = 100
print("You are being attacked by a goblin with {} hp".format(monster_hp))
print("Getting ready text")
while monster_hp != 0 or player_hp != 0:
attack_area = input("Where do you want to hit him[top or mid or bot]: ")
if attack_area == 'top':
p_dmg = player_hit()
m_dmg = monster_hit()
print('You hit goblin for {} and he hits you for {}'.format(p_dmg, m_dmg))
player_hp = player_hp - m_dmg
monster_hp = monster_hp - p_dmg
return player_hp, monster_hp
elif attack_area == "mid":
p_dmg = player_hit()
m_dmg = monster_hit()
print('You hit goblin for {} and he hits you for {}'.format(p_dmg, m_dmg))
player_hp = player_hp - m_dmg
monster_hp = monster_hp - p_dmg
我希望它是随机的一点,我真的陷入回到选择攻击区后,我第一次失败。提前谢谢
return player_hp, monster_hp
退出该函数。你应该去掉这条线-怪物和玩家的生命将在没有它的情况下得到更新
另外,你可能应该改变
while monster_hp != 0 or player_hp != 0:
到
因为有可能有人的hp为负值。如果你想在任何一个玩家死亡时结束游戏,请将“或”改为“和”(这将要求他们都活着)
你可能会被否决,因为a)你的代码有什么问题(我猜是这样),b)你发布的代码不是a:第一行会出现语法错误(我认为这只是粘贴副本时的缩进问题。)我被减得太少了,为什么?首先,感谢你的回复,以后我会尽量更准确地回答我的问题。修复了我的复制粘贴错误,您的解决方案工作得很好。非常感谢!
while monster_hp > 0 or player_hp > 0: