我有两个类,一个“Items”类和一个“Player”类。
玩家拥有“健康”和“法力”
物品类需要改变玩家的生命值或法力值(取决于它的定义方式),同时保留自己的数据。
基本上,我想在项目类中创建一个方法来激活项目以改变玩家的健康状况。
我希望我的代码做什么,但不知道如何:
class player:
def __init__(self,health,mana):
self.health = health
self.mana = mana
class item:
def __init__(self,classToEffect, EffectVariable, EffectAmount ):
self.classToEffect = player
self.EffectVariable = EffectVariable
self.EffectAmount = EffectAmount
def use(self):
self.classToEffect.__dict__[self.EffectVariable] += EffectAmount
p1 = player(100,100)
i1 = item(p1,'health',10)
print(p1.health) # Should Print 100
i1.use() # Should increase p1.health by 10
print(p1.health) # Should print 110
运行此程序时,我收到“健康”的 KeyError。
梦里花落0921
随时随地看视频慕课网APP
相关分类