The Warriors The Warriors
Simple
EN Russian
Однажды, обычным весенним днём, сэр Рональд осматривал свои владения, прогуливаясь на лошади. Ничего не предвещало беды, как вдруг сэр Рональд услышал крики о помощи, доносящиеся неподалеку:
— Помогите! На помощь! — кричал пронзительно юный девичий голос.
Как истинный рыцарь, сэр Рональд не мог остаться в стороне и поспешил спасти леди из беды. Проскакав в направлении, с которого доносился крик, он увидел карету — девушка выглядывала в окно в надежде увидеть хоть кого-то, кто сможет ей помочь.
— Стой! — приказал сэр Рональд кучеру. — По какому праву вы находитесь на принадлежащей мне земле?
Не успел кучер открыть рот, как из кареты вышел его хозяин.
— Моё почтение, благородный сэр. Я не знал, что эта земля — ваша. Мы с моей невестой просто ехали в мое поместье, не стремясь доставить кому либо хлопоты.
— Наглая ложь! Я не его невеста! — воскрикнула девушка из окна кареты.
— Объяснитесь, сэр. Что это значит? — сказал сэр Рональд.
— Разумеется. Дело в том, что король соседнего государства пообещал руку своей дочери и полцарства впридачу тому, кто спасет его дочь от похитивших её разбойников. Я расправился с наглецами и теперь везу принцессу к её отцу.
— Это неправда! Разбойников он и пальцем не тронул, потому что они были в сговоре! Они похитили меня по его же приказу! Я видела, как он рассчитывался с ними мешком золота! — принцесса не стихала ни на секунду, пытаясь максимально быстро рассказать о настоящем положении вещей чудесным образом повстречавшемуся спасителю.
— Такое поведение недостойно рыцаря! Готовься к смерти! — воскликнул сэр Рональд, обнажив меч.
— Ха-ха-ха, наивный дворянишка! Посмотрим, кто кого...

Наверняка многие из вас имеют опыт прохождения компьютерных игр. Возникало ли у вас в процессе игры желание изменить что-нибудь и сделать так, чтобы персонажи или игровой мир больше соответствовали вашему представлению о хорошей игре? Скорее всего да.
В этой миссии (и в нескольких последующих, связанных с ней) вам предоставится возможность «посидеть в кресле разработчика» и создать логику простой игры о сражениях.
Давайте начнем с малого — сражения 1×1. В этой миссии вам необходимо будет создать класс Warrior, у экземпляров которого будет 2 параметра — здоровье (равное 50) и атака (равная 5), а также свойство is_alive, которое может быть True (если здоровье воина > 0) или False (в ином случае). Кроме этого вам необходимо создать класс для второго типа солдат — Knight, который будет наследником Warrior, но с увеличенной атакой — 7. Также вам необходимо будет создать функцию fight(), которая будет проводить дуэли между 2 воинами и определять сильнейшего из них. Бои происходят по следующему принципу:
• каждый ход первый воин наносит второму урон в размере своей атаки, вследствие чего здоровье второго воина уменьшается
• аналогично и второй воин, если он еще жив, поступает по отношению к первому.
Битва заканчивается смертью одного из них. Если первый воин все еще жив (а второй, соответственно, уже нет), функция возвращает True, или в ином случае False.

example

Пример:

chuck = Warrior()
bruce = Warrior()
carl = Knight()
dave = Warrior()

fight(chuck, bruce) == True
fight(dave, carl) == False
chuck.is_alive == True
bruce.is_alive == False
carl.is_alive == True
dave.is_alive == False

Входные данные: воины.

Выходные данные: результат поединка (True или False).

Как это используется: Для разработки компьютерных игр.

Предусловие: 2 типа солдат

You should be an authorized user in order to see the full description and start solving this mission.