gpt4 book ai didi

python - 我如何让怪物存在于 def main() 战斗(怪物)中

转载 作者:太空宇宙 更新时间:2023-11-03 20:12:42 25 4
gpt4 key购买 nike

我有一个它正在选择的怪物列表。

    def monsters():
whatMonster = random.randint(0, 25)
monster = pickMonster[whatMonster]
print(monster.Name)
print("life =", monster.life)
print("EXP =", monster.exp)
return monster

def Battle(monster):

def attack(monster):
print(monster.Name)
print("life =", monster.life)
print("EXP =", monster.exp)
print()
print("level", player.lvl)
print("HP =", player.life)
print("Ammor =", player.Def)
pExp = 0
pExp = monster.exp + pExp

action = input(" will you [A]ttack or [R]un ")
if action == "A":
print("you attack")
attack(monster)
if action == "R":
print("You runaway")
return attack
return monster

def main():
loop = True
header()
print()
while loop == True:
game_loop()
print()
monsters()
print()
player()
Battle(monster)
print()

它向我发送了这种类型的错误:attack() 缺少 1 个必需的位置参数:对我来说是“怪物”,我无法弄清楚这意味着什么

最佳答案

您的 attack() 函数采用单个位置参数 monster (您在定义函数时规定了此要求):

def attack(monster):
...

当你这样调用它时:

if action == "A":
print("you attack")
attack()

您未能传递该参数,从而导致错误。相反,您需要在调用函数时将 monster 对象传递给该函数:

attack(monster)

从查看其余代码来看,您似乎可以执行以下操作:

random_monster = monsters()
...
attack(random_monster)

关于python - 我如何让怪物存在于 def main() 战斗(怪物)中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58629273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com