Python时间。睡觉()不睡觉

2024-09-25 08:26:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个游戏,战斗功能似乎让我绊倒了。下面是我的代码片段:

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)

我已经导入了随机模块和时间模块,只是不在片段中。在

当序列结束时,它不睡觉,直接进入主游戏循环(如果需要,我可以给它)。在

除了乱七八糟,我还做错了什么?在


Tags: namecmdyou游戏inputreturnifdrop
1条回答
网友
1楼 · 发布于 2024-09-25 08:26:48

return语句立即退出函数。之后的任何代码都不会运行。您可以在^{之前sleep

示例:

time.sleep(1.5)
return "Enemy defeated."

但在调用函数后睡觉可能更有意义:

^{pr2}$

相关问题 更多 >