← маршрут 1–48 · личный кабинет
Занятие 9. Здоровье, опыт и игровые ресурсы
Перед началом
Что открыть: Открой рабочую версию проекта после занятия 8. Демонстрационный lesson-09.py используй как отдельный маленький пример.
Исходные данные: Основной сценарий: 10 HP, 0 XP, 3 монеты; урон 4; награда 2 XP; находка 1 монета.
Что нужно понять
Занятие 9 посвящено теме «Здоровье, опыт и игровые ресурсы». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Игровое состояние меняется по событиям. Операторы += и -= изменяют ресурс, а max(0, значение) помогает не допустить отрицательного HP: max выбирает большее из двух чисел.
Минимальный пример
hp=10
xp=0
coins=3
hp=max(0,hp-4)
xp+=2
coins+=1
print("Основной итог:", hp, xp, coins)
heavy_damage_hp=max(0,10-20)
print("После сильного урона:", heavy_damage_hp)Скачать демонстрационный .py-файл
Практика
Начни с hp=10, xp=0, coins=3. Примени урон 4, награду +2 XP и находку +1 монета. Затем отдельно проверь урон 20 при hp=10 через max(0, hp-damage).
Связь с проектом: После базового упражнения перенеси изученный приём в рабочую версию проекта и сохрани версию после занятия 9.
Критерий проверки
Основной итог: hp=6, xp=2, coins=4. При уроне 20 здоровье становится 0, а не отрицательным.
Как проверить: Обычный урон: 10−4=6. Избыточный урон: max(0,10−20)=0.
Что сдать
Сдай рабочую версию проекта после занятия 9 и короткий протокол проверки: входные данные → ожидалось → получилось.
Если нужна поддержка: Если задача не запускается целиком, выполни один шаг отдельно и объясни, что должно измениться до следующего шага.
Типичное затруднение
Не путай стартовое и обновлённое значение. После каждого изменения выводи состояние и сверяй его с расчётом на бумаге.
Домашняя часть
Придумай три события с изменением разных ресурсов и вычисли ожидаемый итог до запуска.
После базы: Добавь верхний предел одному ресурсу через min и объясни, зачем он нужен.
Если появилась ошибка
Traceback — сообщение Python об ошибке. Сначала прочитай его последнюю строку и найди номер строки своего файла. Повтори только тот маленький шаг, на котором возникла ошибка; после исправления снова запусти тот же проверочный случай. Если используешь ИИ, сохрани собственную попытку и попроси одну подсказку, а не готовое решение.