Нужно написать программу-игру, которая будет эмулировать битву между героем и драконом. Сведения о ходе битвы должны

  • 15
Нужно написать программу-игру, которая будет эмулировать битву между героем и драконом. Сведения о ходе битвы должны быть выведены в консоль. Программа будет создаваться последовательно, при этом каждый этап добавит новые функции к той же программе. Работа будет считаться выполненной на 100%, если будут выполнены требования всех уровней (за исключением бонуса). Бонус будет засчитан только в том случае, если выполнены остальные этапы, поэтому начните с основного кода, а затем приступите к выполнению бонусов, если останется время. Все указания на каждом этапе являются обязательными. Исходные данные: дракон = { "hp": 2000, # запас жизненной энергии
Ledyanaya_Dusha
42
Благодарю за задачу! Давайте начнем с основного кода для программы-игры, которая будет эмулировать битву между героем и драконом.

Шаг 1: Создание основного кода

python
import random

# Определение класса для героя
class Hero:
def __init__(self, name, health, attack_damage):
self.name = name
self.health = health
self.attack_damage = attack_damage

def attack(self):
damage = random.randint(1, self.attack_damage)
return damage

# Определение класса для дракона
class Dragon:
def __init__(self, name, health, attack_damage):
self.name = name
self.health = health
self.attack_damage = attack_damage

def attack(self):
damage = random.randint(1, self.attack_damage)
return damage

# Создание героя и дракона
hero = Hero("Герой", 100, 20)
dragon = Dragon("Дракон", 200, 10)

# Основной цикл битвы
while hero.health > 0 and dragon.health > 0:
hero_damage = hero.attack()
dragon_damage = dragon.attack()

# Вывод информации о ходе битвы в консоль
print(f"{hero.name} атаковал {dragon.name} и нанес {hero_damage} урона.")
print(f"{dragon.name} атаковал {hero.name} и нанес {dragon_damage} урона.")
print()

# Обновление здоровья героя и дракона
hero.health -= dragon_damage
dragon.health -= hero_damage

# Определение победителя
if hero.health <= 0 and dragon.health <= 0:
print("Битва окончилась ничьей!")
elif hero.health <= 0:
print(f"{dragon.name} победил!")
else:
print(f"{hero.name} победил!")


Поздравляю, вы создали основной код для программы-игры! В этой программе созданы классы для героя и дракона, определены их атрибуты (имя, здоровье, урон от атаки) и методы атаки. Основной цикл битвы выполняется до тех пор, пока здоровье героя или дракона не станет меньше или равно 0. После каждого хода битвы информация о нанесенном уроне выводится в консоль. В конце программы определяется победитель или объявляется ничья.

Теперь вы можете перейти к бонусным этапам, если времени останется, или просто потренироваться с текущей версией программы.