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

Занятие 28. Практика: система локаций — переходы

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

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

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

Исходные данные: Карта занятия 27 и правила зелья занятия 24. Все пять шагов выполняются без ручного сброса переменных.

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

Занятие 28 посвящено теме «Практика: система локаций — переходы». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Переходы и инвентарь должны работать с одним состоянием героя. Разрешённый переход меняет current, использование зелья меняет hp и inventory; состояние не создаётся заново между действиями.

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

locations={"лагерь":["лес"],"лес":["лагерь","башня","пещера"],"башня":["лес"],"пещера":["лес"]}
current="лагерь"
hp=6
max_hp=10
inventory=["зелье"]
target="лес"
if target in locations[current]: current=target
print(current,hp,inventory)
if "зелье" in inventory and hp<max_hp:
    hp=min(max_hp,hp+5); inventory.remove("зелье")
print(current,hp,inventory)
target="башня"
if target in locations[current]: current=target
print(current,hp,inventory)
target="пещера"
if target in locations[current]: current=target
else: print("Переход запрещён")
print(current,hp,inventory)
if "зелье" in inventory and hp<max_hp:
    hp=min(max_hp,hp+5); inventory.remove("зелье")
print(current,hp,inventory)

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

Практика

Открой версию после занятия 27. Старт: current='лагерь', hp=6, max_hp=10, inventory=['зелье']. Добавь последовательность: лагерь→лес, использовать зелье, лес→башня, попытка башня→пещера, повторная попытка использовать зелье.

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

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

В одном запуске: после леса hp=6; после зелья hp=10 и inventory пуст; переход в башню сохраняет hp=10; прямой переход башня→пещера запрещён; второе использование зелья ничего не меняет.

Как проверить: Пройди пять шагов подряд и после каждого выведи current, hp и inventory.

Что сдать

Сдай рабочую версию проекта после занятия 28 и протокол пяти шагов маршрута.

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

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

Не присваивай current до проверки доступности. Сначала проверь цель в списке переходов.

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

Добавь ещё один переход и проверь допустимый и запрещённый маршрут.

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

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

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