プログラミング入門クラス用に書いている基本的なアリーナ バトラーの属性エラーについて、簡単な質問があります。プログラムの実行時に問題が発生したコードのチャンクは次のとおりです。
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
Lol、今のところ Name Generator は無視してください。私が現在抱えている現在の問題は、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」エラーの他のすべてのケースにはリストが含まれていたので、プログラムエラーに関するヘルプをいただければ幸いです。前もって感謝します!