我试图创建一个函数来提高max hp,只要stat增加或减少。我试图改变self.maxHpCalc()播放器。**将变量=(int)移动到任何为什么我可以想到并且一直没有运气的orc类中。取决于我如何改变它我得到自己/球员没有属性的力量,maxHp或maxHpCalc没有定义。在python中使用基于文本的游戏的类
class player:
def __init__(self, hp = 1 , maxHp = 1, strength = 4, defense = 5):
self.hp = hp
self.maxHp = maxHpCalc()
self.strength = strength
self.defense = defense
def maxHpCalc():
player.maxHp = player.strength + player.defense
class orc(player):
def __init__(self, hp, maxHp, strength , defnese):
super().__init__(hp, maxHp, strength, defense)
print(player.maxHp)
一切我改变给我的播放器/自无属性力量的时刻
我已阅读过这篇文章,但我很努力地想看到一个问题。你只是寻找一些保证,你做对了吗? –
哈哈是的,顶部。或多或少,我只是在跟自己说话。如果看起来没错的话就忽略它。主要是我在最后遇到了所有def函数的问题。因为我希望他们是一个不断变化的变量,这取决于统计数据是什么。所以我遇到像“玩家没有属性upperStrength”或maxHPCalc未定义的错误。至于现在我有一个raiseStat()函数,并有maxHp =(公式),并且工作,但从我所看到的应该有一种方法将该函数放入类maxHp = maxHpCalc()我还没有找到了一种方法来使其工作。 – Reederboard
你有没有尝试用一个缩进这些函数,所以它们属于这个类的范围?在这里你永远无法确定这些缩进错误不是将代码粘贴到文本框中的结果,也不是原始海报代码中的真正错误。 –