The Vampires
"Если так и дальше будет продолжаться, мы просто перебьем друг друга. И в этой битве не будет победителей - проиграют все." - так размышлял сэр Рональд, наблюдая неутешительную картину перед собой.
"Я должен принять важное решение. Я знаю цену такого поступка, но сейчас только это может спасти нас всех..."
Когда-то давно, когда он был весьма склонен к авантюрам и поиску приключений, он отправился охотиться на ведьму, за голову которой была обещана огромная награда. Хитрая бестия смогла спасти свою жизнь, уговорив рыцаря принять от неё дар - пузырек с кровью вампира. Эта кровь, влитая в уста умирающего человека, могла вернуть его к жизни в облике вампира.
Неужели день, когда ему придется использовать это, настал?..
Похоже, только так можно выиграть эту битву.
Сэр Рональд начал склоняться над едва живыми телами своих рыцарей, которые лежали возле него. Каждому из них он говорил:
- "Пей. Тебя ждет новая жизнь..."
Итак, у нас есть 3 типа солдат: Warrior, Knight и Defender. Давайте сделаем сражения армий еще более эпичными и добавим новый тип юнитов - Vampire!
Vampire должен быть наследником класса Warrior и иметь дополнительный параметр - vampirism, который помогает ему исцелять себя. Когда вампир наносит удар другому юниту, то восставнавливает себе здоровье в размере +50% от нанесенного урона (защита соперника уменьшает наносимый вампиром урон и, соответственно, получаемое лечение).
Базовые параметры класса Vampire:
health = 40
attack = 4
vampirism = 50%
Вы должны хранить атрибут вампиризма как целое число (50 на 50%). Это необходимо для того, чтобы данное решение развивалось в соответствии с одной из следующих задач этой саги.
Пример:
chuck = Warrior() bruce = Warrior() carl = Knight() dave = Warrior() mark = Warrior() bob = Defender() mike = Knight() rog = Warrior() lancelot = Defender() eric = Vampire() adam = Vampire() richard = Defender() ogre = Warrior() assert fight(chuck, bruce) == True assert fight(dave, carl) == False assert chuck.is_alive...