J'ai une brève question concernant une erreur d'attribut concernant un combattant de base de l'arène que j'écris pour mon introduction à la classe de programmation. Voici le morceau de code que je ne parviens pas à avec à l'exécution du programme,AttributeError: l'objet 'str' n'a pas d'attribut 'attack' "'Help!"
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, ignorer le générateur Nom pour l'instant, thats une idée Je vais essayer de travailler plus tard. Le problème courant que j'ai maintenant est que quand j'exécute le programme par IDLE j'obtiens l'erreur suivante;
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'
Toute aide serait appréciée sur l'erreur de programme, comme je l'ai fait des recherches et a essayé de trouver la réponse, mais tous les autres casses d'erreur « str » listes impliquées. Merci d'avance!
Merci Max!Alors, comment pourrais-je régler ce problème, Si vous pouviez être si gentil: PA point dans la bonne direction serait suffisant :) –
Je ne serai pas voter-juste parce que je pense que c'est la bonne réponse - depuis, Comme dit l'auteur, c'est «évident». – martineau
@Caleb W .: Prenez un indice de la partie "au lieu d'un objet joueur". – martineau