繁体   English   中英

python文本RPG的exp系统

[英]exp system for python text RPG

我只是在学习 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):

你抱怨说

它似乎没有从敌人.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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM