J'apprends le python et j'essaie d'écrire un système de blessure basé sur les zones chaudes d'un personnage. Voici ce que j'ai écrit. Ne me juge pas trop.Python: variables à l'intérieur des méthodes de classe
class Character:
def __init__ (self, agility, strength, coordination):
self.max_agility = 100
self.max_strength = 100
self.max_coordination = 100
self.agility = agility
self.strength = strength
self.coordination = coordination
def hit (self, hit_region, wound):
self.hit_region = hit_region
self.wound = wound
#Hit Zones
l_arm=[]
r_arm=[]
l_leg=[]
r_leg=[]
hit_region_list = [l_arm , r_arm, l_leg, r_leg]
#Wound Pretty Names
healthy = "Healthy"
skin_cut = "Skin Cut"
muscle_cut = "Muscle Cut"
bone_cut = "Exposed Bone"
hit_region.append(wound)
john = Character(34, 33, 33)
john.hit(l_arm, skin_cut)
Je pense à l'entrée skin_cut pour être reconnu comme « Cut de la peau », puis ajouté à l_arm, que je définis comme une liste. Cependant, je reçois toujours une erreur de nom (l_arm n'est pas défini). Si je réécris la méthode avec la 'blessure' comme premier argument, l'erreur de nom vient maintenant avec 'blessure' comme non défini. Ce genre de me dit que c'est quelque chose dans la structure de la classe que j'ai raté, mais je ne peux pas dire quoi.
Variables locales, par ex. l_arm, sont détruits quand une fonction a fini d'être exécutée. – 7stud
Pouvez-vous s'il vous plaît fournir une erreur? – Nilesh
@Lafada, c'est évident! – 7stud