Я пытаюсь сделать небольшую игру, и я буду использовать классы для определения характеристик предпочитаемого пользователем класса. Мне нужно сделать классы, чтобы, когда придет время сражаться с монстром (который также будет в своем классе), я смогу вызывать их характеристики.
Это может быть проблемой "большой картины", но чтобы избежать написания кода три раза (для каждого класса), я хочу вызвать только переменную "selectedClass.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
Моя ошибка, которую я получаю из этого кода:
Ошибка типа: объект 'str' не вызывается
Я понимаю, что ему дают строку, но это переменная. Почему это вызывает проблемы?
Какие-нибудь рекомендации, чтобы сделать эту программу лучше?