gpt4 book ai didi

python - 如何用变量替换 class.function() 中的 "class"?

转载 作者:太空宇宙 更新时间:2023-11-04 10:00:50 28 4
gpt4 key购买 nike

<分区>

我为此使用 Python 3.5。所以标题很困惑,我还是 python 的新手,真的不知道如何解决这个问题,也不知道如何给它一个合适的标题,如您所见。我确实看到我的逻辑哪里出了问题(我到底是怎么打算用另一个词这么容易地替换那个论点的,这超出了我的范围)但我仍然不知道解决方案是什么。所以基本上我的问题是尝试运行这样的东西:

def attack(self,target):
target.hp -= self.attack

当我尝试从我的永久游戏循环中调用它时,这显然不起作用:

opponent = Enemy()
player = Enemy()

if action == "a":
player.attack(opponent)

我得到一个错误:

TypeError: 'int' object is not callable

我将粘贴整个代码,以便你们可以更好地了解它。另外,我很感激任何关于可以在代码中调整其他内容以使其更好的提示。就是这样,提前致谢!

import sys
import random

class Enemy:
def __init__(self, name, hp, attack):
self.name = name
self.hp = hp
self.attack = attack

def attack(self,target):
target.hp -= self.attack
print(target.name +" just lost" + str(self.attack)+"HP")

def status(self):
if self.hp <= 0:
print(self.name +' has just died!')
sys.exit(0)

print(self.name +"'s HP:" +str(self.hp))


opponent = Enemy("Goblin",10,1)
player = Enemy("Player",10,2)

while True:
attackChance = random.randrange(0,2)
if attackChance == 0:
print(opponent.name + ": Damn it!\n")
else:
opponent.attack(player)

action = input('Press "a" to attack')
if action == "a":
player.attack(opponent)
else:
continue

player.status()
opponent.status()

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