我正在尝试制作一个小游戏,我将要做的是使用类来指定用户首选类的统计信息。我需要让这些职业在与怪物战斗时(怪物也在自己的职业中),我可以调用他们的统计数据
这可能是一个“大问题”,但为了避免编写三次代码(针对每个类),我只想调用变量“chosenClass.HP”而不是“Mage.HP”,因为如果这样做,我需要为故事中的每个类都使用一组if语句。一定有更好的办法
我在这两方面都做过,我讨厌写作
if userChoice is 'Mage':
HP = 150
我环顾了一下自己,但我不完全明白这是怎么回事。如果这是必需的或推荐的解决方案,那么什么是最好的学习资源
print("Welcome to the game")
name = input("Choose your name\n")
print(name)
class Warrior:
HP = 100
ATK = 200
DEF = 0
class Mage:
HP = 100
ATK = 200
DEF = 0
class Rouge:
HP = 150
ATK = 250
DEF = 100
user_class = input("Choose a class between Warrior, Mage, or Rouge\n")
print(user_class)
while(user_class != 'Warrior' and user_class != 'Mage' and user_class != 'Rouge'):
print("You did not choose from the required classes, try again")
user_class = input()
theClass = user_class()
theClass.HP = 1000
我从这段代码中得到的错误是: TypeError:“str”对象不可调用 我知道它被赋予了一个字符串,但它是一个变量。为什么会产生问题
有什么建议可以让这个计划更好
如果要创建这样的实例,需要将字符串映射到类
user_class
返回一个字符串,而不是您上面定义的实际Class
。这是因为input()
返回一个字符串,并将其存储在user_class
中。为了创建在代码中创建的类的新实例,需要使用基于播放器输入的某种逻辑来实例化该类,例如:显然,这不是最好的方法,但只是一个演示如何实例化类的示例
相关问题 更多 >
编程相关推荐