我有一个关于我正在为编程课程介绍编写的基本竞技场战斗人员的属性错误的快速问题。这是我在运行程序时遇到问题的代码块,
class Enemy:
def __init__(self,player,weapons,armor):
self.name = "Bad Guy"
self.health = 100
self.attackPower = (player.attack + randint(-5,5))
self.defensePower = (player.defense + randint(-5,5))
self.weapon = player.weapon
self.armor = player.armor
def name_generator(self):
import random
element = ["Thunder","Lightning","Wind","Fire", "Stone"]
tool = ["Hammer","Drill","Cutter","Knife", "Saw"]
randomNumber1 = random.randrange(0,len(element))
randomNumber2 = random.randrange(0,len(tool))
self.randomname = element[randomNumber1] + " " + tool[randomNumber2]
return self.randomname
大声笑,暂时忽略名称生成器,这是我稍后会尝试解决的想法。我现在遇到的当前问题是,当我通过 IDLE 运行程序时,出现以下错误;
File "C:\Users\Caleb Walter\Downloads\Arena_Battler.py", line 150, in __init__
self.attackPower = int(player.attack + randint(-5,5))
AttributeError: 'str' object has no attribute 'attack'
任何有关程序错误的帮助都将不胜感激,因为我已经进行了研究并试图找到答案,但所有其他“str”错误都涉及列表。先感谢您!