在类函数中使用 "if" 语句升级 Player 类实例



我正在为基于文本的Python游戏中的Player(用户(创建一个类。级别表示为Player类中的级别函数。我包含了一个level_up()功能,用于用户成功完成任务。

完成任务应该增加用户的等级并返回用户的新等级。但是,当我运行程序时,级别不会增加1,函数也不会返回用户的级别。

我感谢任何反馈、建议和建议。

class Player(object):
def __init__(self, name:str, health:int, level:int, strength:int, quest):
self.name = name
self.health = health
self.level = level
self.strength = strength
self.quest = False
def __str__(self):
return "%s stats:n HP %sn Level %sn Strength %s" % (self.name, self.health, self.level, self.strength)
def level_up(self):
if self.quest is True:
self.level += 1
return "You have leveled up. You are level %s! Congratulations." % (self.level)
else:
pass

user = Player('User_name', 1, 1, 1, False)
print(user)
user.quest = True
user.level_up()

您返回"you have leveled up"字符串,但从未打印它。您必须打印它才能显示:

def level_up(self):
if self.quest is True:
self.level += 1
print("You have leveled up. You are level %s! Congratulations." % (self.level))

# Only do this if level_up returns a string instead of printing one
print(user.level_up())

最新更新