我正在编写一个游戏,战斗功能似乎让我绊倒了。下面是我的代码片段:
def combat(player, enemy, dun):
print("\n"*100 + "A " + enemy.name + " has attacked you!")
while player.health > 0 and enemy.health > 0:
print(enemy.name[:1].upper() + enemy.name[1:], "health:", enemy.health)
print("Your health:", player.health)
cmd = input(">")
if cmd == "attack":
enemy.health -= player.atk(enemy)
if cmd == "run":
coin = random.choice(["heads", "tails"])
if coin == "heads":
break
else:
print("You couldn't escape.")
if cmd == "equip":
target = input("Which item?\n>")
print(player.equip(target))
player.health -= enemy.atk(player)
if enemy.health <= 0:
print("You defeated the", enemy.name + "!")
if enemy.drop != None:
return "Enemy defeated.\nThe " + enemy.name + " dropped a " + enemy.drop + "!"
dun.data[dun.pos][2].append(enemy.drop)
else:
return "Enemy defeated."
time.sleep(1.5)
out = 1
elif player.health <= 0:
print("You died fighting %s..." % enemy.name)
dun.pos == (0, 0)
player.inventory == []
return "You reawaken in the same room you started in, pack empty..."
time.sleep(3)
我已经导入了随机模块和时间模块,只是不在片段中。在
当序列结束时,它不睡觉,直接进入主游戏循环(如果需要,我可以给它)。在
除了乱七八糟,我还做错了什么?在
return
语句立即退出函数。之后的任何代码都不会运行。您可以在^{sleep
:示例:
但在调用函数后睡觉可能更有意义:
^{pr2}$相关问题 更多 >
编程相关推荐