簡體   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