HW5. Условные операторы | Питон и КИЛИ

Домашнее задание

Дедлайн: 23:59 27 ноября

Представьте, что вы играете с пользователем в упрощенную игру “За бортом”. У вас есть 6 персонажей, которые сидят в лодке по порядку (1-6 место): Миледи, Сноб, Капитан, Боцман, Черпак и Шкет. У каждого из персонажей есть единицы силы

Место в лодке Персонаж Сила
1 Миледи 4
2 Сноб 6
3 Капитан 7
4 Боцман 8
5 Черпак 4
6 Шкет 1

Ваша задача реализовать код, который хранит коллекцию персонажей, их позиций в лодке и единицы силы, а также делает следующее:

  1. Запрашивает у пользователя действие в формате строки. Есть всего 4 действия: ‘добавить’, ‘драться’, ‘грести’, ‘полечиться’
  2. Далее ведет себя по-разному в зависимости от введенного действия.

Добавить – добавляет нового персонажа. Нужно запросить у пользователя нового персонажа, его силу и добавить его в конец лодки. После этого вывести обновленную коллекцию всех персонажей и их силы.

Например так:

>>Введите команду:
добавить
>>Введите имя персонажа:
Мадам Вонг
>>Введите силу:
10
>>Мадам Вонг в лодке!
** тут print обновленной коллекции персонажей с добавлением Мадам Вонг**

Драться – один персонаж хочет сместить другого, обычно выгоднее сидеть в начале лодки. Запросите у пользователя позицию агрессора в лодке и позицию того, с кем агрессор хочет драться. Затем сравните их силы.

  • Если агрессор сильнее, поменяйте его местами с потерпевшим и выдайте забавное сообщение о победе агрессора, а затем обновленную коллекцию персонажей.
  • Если агрессор слабее, то оставьте все как есть, напишите забавное сообщение о том, что агрессор проиграл и выведите коллекцию персонажей.
  • Если силы равны, то будем считать, что агрессор победил, так что сделайте то же, что и в первом случае

Например так:

>>Введите команду:
драться
>>Кто нападает?
3
>>На кого?
1
>> Капитан победил Миледи!
** тут print обновленной коллекции персонажей с заменой мест**
>>Введите команду:
драться
>>Кто нападает?
6
>>На кого?
1
>> Шкет проиграл, маловато сил!
** тут print прежней коллекции персонажей **

Грести – всем персонажам нужно грести, чтобы добраться до берега живыми, но гребля отнимает силы. Реализуйте код, который запрашивает номер персонажа и отнимает у него единицу силы. Если силы равны 0, то герой за бортом и его нужно выкинуть из коллекции. Для упрощения будем считать, что на место погибшего больше садиться нельзя (то есть людей в лодке перемещать не надо).

Например так:

>>Введите команду:
грести
>>Кто гребет?
6
>>Шкет за бортом, силы кончились
** тут print обновленной коллекции персонажей без Шкета**
>>Введите команду:
грести
>>Кто гребет?
1
>>Мы на один гребок ближе к берегу!
** тут print обновленной коллекции персонажей с 3 единицами силы у Миледи**

Полечиться – команда для восстановления сил. После лечения персонаж получает +1 единицу силы.

>>Введите команду:
полечиться
>>Кто лечится?
1
>>Делу время потехе час!
** тут print обновленной коллекции персонажей с 5 единицами силы у Миледи**

Весь текст, который выводит программа остается на ваше усмотрение, имена персонажей упоминать не обязательно, хотя было бы очень хорошо. Главное – изменения в коллекции персонажей, которые должны соответствовать правилам игры.

Подсказка: вам понадобятся словари!

Критерии оценки по командам:

Драться - 4 балла

Грести - 3 балла

Добавить - 2 балла

Полечиться - 1 балл