Python文本RPG的exp系统



我只是在学习python,我一直在关注一本制作文本RPG的书。我已经完成了这本书,现在我试图从一些非常小的东西开始增加经验和水平。现在我有敌人使用 random.randint(( 函数提供随机数量的经验,我可以让它显示得很好,但我似乎无法将其转换为玩家类,然后转化为升级功能。

def level_up(self):
self.xp = self.xp + enemy.xp
while self.xp >= self.lvlNext:
self.lvl += 1
self.xp = self.xp - self.lvlNext
self.lvlNext = round(self.lvlNext * 1.5)
print("Congatulations your level {}".format(self.lvl))

这是我尝试使用的功能。它似乎没有从敌人那里获得输入.xp 我也是堆栈溢出的新手 - 如果我能发布整个代码文件,我会的。

GitHub链接:https://github.com/GusRobins60/pythonTextRPG

感谢您的任何帮助

以下是您当前使用的签名:

def level_up(self):

你抱怨

它似乎没有从 enemy.xp 获得输入。

您希望传入enemy作为参数:

def level_up(self, enemy):

作为一个完全独立的事情,可以说self.xp = self.xp + enemy.xp, 但最好更简洁地陈述:

self.xp += enemy.xp

同样,对于

self.xp -= self.lvlNext

编辑

也许你愿意以这种方式推导出enemy

room = world.tile_at(self.x, self.y)
enemy = room.enemy

值得将其打包为辅助函数:

def get_enemy(x, y):
room = world.tile_at(x, y)
return room.enemy

最新更新