Практическая работа № 2-5
Создайте текстовую игру «ПОЧТИ ДИАБЛО!» следуя указанным требованиям.
(Приветствуются собственные методы и атрибуты).
Создать класс базового персонажа.
Конструктор класса должен принимать три аргумента и иметь три атрибута (имя, жизнь и ману).
Должен иметь методы:
status(), который показывает состояние базового героя.
drink_heal_potion(potion), potion принимает целые числа.
drink_mana_potion(potion_mana), potion_mana принимает целые числа.
Создать класс главного героя. Класс должен быть наследником класса базового персонажа.
Конструктор класса должен принимать 8 аргументов и иметь 8 атрибутов (имя, жизнь, мана, сила, ловкость, интеллект, опыт, уровень). Первые три атрибута он инициализирует с помощью родителя используя функцию super().
Должен иметь методы:
scream() – выводится сообщение “ Я будущий герой{имя?}, но я не выбрал специальность.
attack(target, damage) - выводится сообщения “Я будущий герой{имя?}, и я без оружия, но я нанес {враг?} урон {урон?} своими руками”. target – это какой-то другой объект.
Создать класс воина. Класс должен быть наследником класса главного героя.
Конструктор класса должен принимать 9 аргументов и иметь 9 атрибутов (имя, жизнь, мана, сила, ловкость, интеллект, опыт, уровень, оружие). Первые 8 атрибутов он инициализирует с помощью родителя используя функцию super(). Каждый метод действия дает персонажу очко 10 опыта, и когда персонаж достигает 100 опыта, атрибуты силы повышается на 3, ловкости повышается на 2 и интеллекта повышаются на 1, сам опыт обнуляется.
scream() – выводится сообщение “ Я герой{имя?} и я воин с {оружие?}.
attack(target, damage) - выводится сообщения “ { имя?} нанес {оружие} {враг?} урон {урон?} ” , где target – это какой-то другой объект.
Создать класс мага.
Конструктор класса должен принимать 8 аргументов и иметь 9 атрибутов (имя, жизнь, мана, сила, ловкость, интеллект, опыт, уровень, заклинания). Первые 8 атрибутов он инициализирует с помощью родителя используя функцию super(). Атрибут заклинаний – это список. Каждый метод действия дает персонажу очко 10 опыта, и когда персонаж достигает 100 опыта, атрибуты силы повышается на 1, ловкости повышается на 2 и интеллекта повышаются на 4, сам опыт обнуляется.
- scream() – выводится сообщение “ Я маг герой{имя?} и я знаю { количество заклинаний?} заклинаний.
-add_magic(magic) – добавляет магию в наш атрибут заклинаний (список)
- attack(attack_magic, target, damage) - выводится сообщения “ { имя?} нанес {магией} {враг?} урон {урон?} ” , где target – это какой-то другой объект
Данный класса должен быть наследником класса базового персонажа. Конструктор класса должен принимать 4 аргумента и 5 атрибутов. Аргументы: имя, жизнь, мана и уровень. Атрибуты: имя, жизнь, мана, уровень, вещи. Первые три атрибута он должен наследовать от родителя через super().
Данный класс содержит следующие методы:
- scream() – должен выводить следующее сообщение “Я {имя?} обычный NPC!”
Создать класс Травника.
Данный класс должен наследником класса NPC. Конструктор класса должен принимать 4 аргумента и 5 атрибутов. Все это наследуется от родителя NPC.
Данный класс содержит следующие методы:
- scream() – должен выводить следующее сообщение “Я {имя?} обычный {профессия?}!”
- job(target,