Без рубрики

Битва с драконом!

Опубликовано

Создайте новый репл.

Сегодня мы будем писать игровой процесс битвы с драконом. Давайте для начала создадим нашего героя. Подумайте какими свойствами должен обладать наш персонаж. Для начала, придумайте имя и сохраните в переменную hero_name.
Какими ещё свойствами должен обладать наш герой? Наверняка нам понадобится переменная, которая хранит в себе текущий уровнь здоровья и силу атаки.

Теперь создадим дракона с которым будет биться наш рацарь.

Пришло время атаковать. Как написать код, который будет имитировать атаку дракона?
Правильно, необходимо уменьшить показатель здоровья на уровень атаки героя.

hero_hp.hp -= dragon_attack

После того как дракон произвёл атаку, теперь должен атаковать рыцарь. Напишите код атаки рыцаря самостоятельно. После каждой атаки выводите на экран информацию о текущем состоянии здоровья атакуемого.

Что дальше? А дальше всё повторяется по кругу, дракон атакует рыцаря, рыцарь атакует в ответ. Значит необходим цикл. Подумайте какой цикл лучше здесь использовать и почему?

Я за основу взял бесконечный цикл while. Поскольку, на данном этапе я не могу точно сформулировать условие для проверки циклом, просто напишем while True: . Поместим весь ранее написанный код внутрь цикла.

Возможно вы уже догадались, что наша битва никогда не закончится если мы её сейчас запустим и наши герои будут биться вечно! Давайте попробуем это поправить. Сначала атакует дракон, затем рыцарь. Если после атаки дракона, здоровье рыцаря стало 0 или меньше, может ли он произвести ответную атаку? Нет, и нам необходимо завершить выполнение цикла используя ключевое слово break.

Аналогичный код проверки здоровья напишите после атаки рыцаря. Чтобы один ход в командной строке визуально отделить другого я использовал пустой print() в конце итерации.

  1. Самостоятельно добавьте счётчик хода, чтобы на экран выводилась информация о том, какой по счёту сейчас ход.
  2. Добавьте код после выхода из цикла, который выводит на экран имя победителя и то, за сколько ходов была одержана победа.
  3. Измените значения показателей атаки дракона и героя, так, чтобы они устанавливались в случайное значение. А теперь сделайте так, чтобы показатель атаки героя и дракона менялись на каждом ходу.
  4. В начале игры спросите у пользователя: «Кто победит в этой схватке? 1 — Дракон! 2 — Рыцарь!». А в конце игры сообщите, прав ли пользователь.

Ссылка на проект https://replit.com/@Koddom/OZONbattlewithDragon#main.py

Добавить комментарий

Ваш адрес email не будет опубликован.