← маршрут 1–48 · личный кабинет
Занятие 22. Практика: система сражения — тестирование
Перед началом
Что открыть: Открой рабочую версию проекта после занятия 21. Демонстрационный lesson-22.py используй как отдельный маленький пример.
Исходные данные: Два отдельных запуска/блока с заданными числами; не требуется вложенный список сценариев.
Что нужно понять
Занятие 22 посвящено теме «Практика: система сражения — тестирование». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Тестирование боя — это повторить один алгоритм на разных начальных значениях. Пока проверяем два сценария отдельными запусками. На следующем занятии познакомимся со списками.
Минимальный пример
# Сценарий A
hero_hp=10; enemy_hp=6
while hero_hp>0 and enemy_hp>0:
enemy_hp=max(0,enemy_hp-3)
if enemy_hp>0:
hero_hp=max(0,hero_hp-2)
print("A:",hero_hp,enemy_hp)
# Сценарий B
hero_hp=5; enemy_hp=10
while hero_hp>0 and enemy_hp>0:
enemy_hp=max(0,enemy_hp-3)
if enemy_hp>0:
hero_hp=max(0,hero_hp-2)
print("B:",hero_hp,enemy_hp)Скачать демонстрационный .py-файл
Практика
Проведи два отдельных сценария одной логики боя: A — герой 10 HP против врага 6 HP; B — герой 5 HP против врага 10 HP. Урон героя 3, врага 2.
Связь с проектом: После базового упражнения перенеси изученный приём в рабочую версию проекта и сохрани версию после занятия 22.
Критерий проверки
Сценарий A завершается победой героя, сценарий B — поражением героя. В обоих случаях HP не становится отрицательным.
Как проверить: A: hero=10, enemy=6. B: hero=5, enemy=10. До запуска назови ожидаемого победителя.
Что сдать
Сдай рабочую версию проекта после занятия 22 и короткий протокол проверки: входные данные → ожидалось → получилось.
Если нужна поддержка: Если задача не запускается целиком, выполни один шаг отдельно и объясни, что должно измениться до следующего шага.
Типичное затруднение
Не меняй алгоритм между тестами: должны меняться только входные значения, иначе сравнение теряет смысл.
Домашняя часть
Добавь граничный сценарий, где участнику хватает ровно одного удара до победы.
После базы: Запиши ожидаемого победителя для каждого сценария до запуска и сравни с фактом.
Если появилась ошибка
Traceback — сообщение Python об ошибке. Сначала прочитай его последнюю строку и найди номер строки своего файла. Повтори только тот маленький шаг, на котором возникла ошибка; после исправления снова запусти тот же проверочный случай. Если используешь ИИ, сохрани собственную попытку и попроси одну подсказку, а не готовое решение.