← маршрут 1–48 · личный кабинет

Занятие 21. Практика: система сражения — сборка

45 минут учебной работыиндивидуальнотекстовая RPG

Перед началом

Что открыть: Открой рабочую версию проекта после занятия 20. Демонстрационный lesson-21.py используй как отдельный маленький пример.

Исходные данные: Начни с значений из минимального примера. Творческие изменения выполняй только после базовой проверки.

Что нужно понять

Занятие 21 посвящено теме «Практика: система сражения — сборка». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Бой можно представить циклом while, который продолжается, пока живы герой и противник. На каждом ходу изменяется hp, а после атаки нужно проверить, не завершился ли бой.

Минимальный пример

hero_hp=10
enemy_hp=8
hero_damage=3
enemy_damage=2
while hero_hp>0 and enemy_hp>0:
    enemy_hp=max(0,enemy_hp-hero_damage)
    print("Враг HP:",enemy_hp)
    if enemy_hp==0:
        break
    hero_hp=max(0,hero_hp-enemy_damage)
    print("Герой HP:",hero_hp)
print("Бой завершён")

Скачать демонстрационный .py-файл

Практика

Старт: hero_hp=10, enemy_hp=8, hero_damage=3, enemy_damage=2. Пока оба живы, герой атакует первым; если enemy_hp стал 0, ответной атаки нет.

Связь с проектом: После базового упражнения перенеси изученный приём в рабочую версию проекта и сохрани версию после занятия 21.

Критерий проверки

HP никогда не выводится отрицательным; бой заканчивается победой одного участника; противник не атакует после поражения.

Как проверить: Сначала на бумаге просчитай первые два хода. Затем сравни с выводом программы.

Что сдать

Сдай рабочую версию проекта после занятия 21 и короткий протокол проверки: входные данные → ожидалось → получилось.

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

Типичное затруднение

Проверяй условие завершения сразу после удара героя, иначе побеждённый противник может нанести лишнюю атаку.

Домашняя часть

Измени стартовое здоровье так, чтобы получить другой исход, и объясни, почему он изменился.

После базы: Добавь счётчик ходов через уже изученный оператор +=.

Если появилась ошибка

Traceback — сообщение Python об ошибке. Сначала прочитай его последнюю строку и найди номер строки своего файла. Повтори только тот маленький шаг, на котором возникла ошибка; после исправления снова запусти тот же проверочный случай. Если используешь ИИ, сохрани собственную попытку и попроси одну подсказку, а не готовое решение.