【发布时间】:2021-06-22 23:22:24
【问题描述】:
我对 Python 非常陌生,第一次开始使用类和字典(也是 StackOverflow 的第一篇文章),但从未使用过实例。我成功创建了一个 Player 类,但因为我想要不同的敌人,所以我创建了一个 Enemy 类。我根据个人喜好将新行上的属性分开。
class Enemy:
def __init__(self, name, health, maxhealth, head, torso, legs, feet, armor, weapon, damage, gold):
self.name = name
self.health = health
self.maxhealth = maxhealth
self.head = head
self.torso = torso
self.legs = legs
self.feet = feet
self.armor = armor
self.weapon = weapon
self.damage = damage
self.gold = gold
skeleton = Enemy("Skeleton",
60,
60,
armors['leatherhelm'],
armors['leathertorso'],
armors['leatherleggings'],
armors['leatherboots'],
Enemy.head['defense']+Enemy.torso['defense']+Enemy.legs['defense']+Enemy.feet['defense'],
weapons['rustycutlass'],
1+Enemy.weapon['damage'],
33)
发生错误,type object 'Enemy' has no attribute 'head'(假设 Enemy 没有 torso、legs、feet 和 weapon)。我最初尝试了self.head,然后才意识到它为什么不起作用,并且还尝试了skeleton.head。有没有办法让我使用这些相互依赖的属性?另外,我需要任何括号吗?任何帮助表示赞赏。
【问题讨论】: