我最近尝试编写一个基于文本的游戏。当玩家升级时,我想更改玩家的熟练程度。我应该如何为此更改代码?
class Player:
def __init__(self,name,_class,_race):
self.name = name
self.level = 1
self.proficiency = (int(self.level/3)+1)*2
self.inventory = 0
self.skills = returnSkills()
self.stats = returnStats()
self._class = _class
self._race = _race
self.exp = 0
def levelUp(self):
self.level+=1
newPlayer = Player("Player","Barbarian","Human")
print(newPlayer.level)
for i in range(10):
print(newPlayer.level)
print(newPlayer.proficiency)
newPlayer.levelUp()
You could make
proficiency
a property, so it is calculated from the current level each time it is referenced.or you could leave it as a plain attribute, and recalculate it inside your
levelUp
method.