我正在使用 Python atm 并尝试制作一些游戏类型的东西。到目前为止还没有做太多,但我希望的是一个战斗系统,允许你瞄准特定的身体部位(我选择将它们定义为一个对象)。以下代码旨在获取目标单元、该单元的一部分和用于攻击的手(在此代码段中仅右侧)并调用将“损坏”它的目标身体部位的方法。
def attack(self, target, part, hand):
if hand == 'right':
if self.righthand.o <> []: #this checks if the righthand has a weapon
dmg = self.righthand.o[0].getdmg() #gets damage from the weapon
target.part.deltahealth(dmg) #reduces the bodyparts HP value
现在问题出现在上面的第 5 行。在我的脑海中,这意味着将其称为特定部分。如 target.lefthand.deltahealth(dmg) 或 target.righthand.deltahealth(dmg)
class Bodypart(object):
def __init__(self, e, t):
self.MHP = self.gmh(e,t) #this calculates a health, not relevant really
self.CHP = self.gmh(e,t)
self.holding()
self.status = 'Healthy'
def deltahealth(self,d):
self.CHP = self.CHP - d #specifically this
但是,它不起作用,因为它查找 bodypart 'part' 而不是 part 的值。反正有没有按照我正在寻找的方式进行这项工作?