The Vampires

The Vampires

...над полем битвы кружили стаи воронов. Многие доблестные воины полягли в этом сражении, многие еще продолжали сражаться.
"Если так и дальше будет продолжаться, мы просто перебьем друг друга. И в этой битве не будет победителей - проиграют все." - так размышлял сэр Рональд, наблюдая неутешительную картину перед собой.
"Я должен принять важное решение. Я знаю цену такого поступка, но сейчас только это может спасти нас всех..."
Когда-то давно, когда он был весьма склонен к авантюрам и поиску приключений, он отправился охотиться на ведьму, за голову которой была обещана огромная награда. Хитрая бестия смогла спасти свою жизнь, уговорив рыцаря принять от неё дар - пузырек с кровью вампира. Эта кровь, влитая в уста умирающего человека, могла вернуть его к жизни в облике вампира.
Неужели день, когда ему придется использовать это, настал?..
Похоже, только так можно выиграть эту битву.
Сэр Рональд начал склоняться над едва живыми телами своих рыцарей, которые лежали возле него. Каждому из них он говорил:
- "Пей. Тебя ждет новая жизнь..."

Итак, у нас есть 3 типа солдат: Warrior, Knight и Defender. Давайте сделаем сражения армий еще более эпичными и добавим новый тип юнитов - Vampire!
Vampire должен быть наследником класса Warrior и иметь дополнительный параметр - vampirism, который помогает ему исцелять себя. Когда вампир наносит удар другому юниту, то восставнавливает себе здоровье в размере +50% от нанесенного урона (защита соперника уменьшает наносимый вампиром урон и, соответственно, получаемое лечение).
Базовые параметры класса Vampire:
health = 40
attack = 4
vampirism = 50%

Вы должны хранить атрибут вампиризма как целое число (50 на 50%). Это необходимо для того, чтобы данное решение развивалось в соответствии с одной из следующих задач этой саги.

example

Пример:

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...
You should be an authorized user in order to see the full description and start solving this mission.