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

Занятие 27. Практика: система локаций — карта

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

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

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

Исходные данные: Лагерь: лес. Лес: лагерь, башня, пещера. Башня: лес. Пещера: лес.

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

Занятие 27 посвящено теме «Практика: система локаций — карта». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Карту локаций удобно хранить в словаре: ключ — текущая локация, значение — список мест, куда разрешён переход. На этом занятии функции ещё не нужны: цель — научиться читать структуру карты и проверять названия.

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

locations={"лагерь":["лес"],"лес":["лагерь","башня","пещера"],"башня":["лес"],"пещера":["лес"]}
for place in locations:
    print(place,"->",locations[place])

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

Практика

Создай карту из четырёх локаций: лагерь↔лес, лес↔башня, лес↔пещера. Выведи доступные переходы из каждой локации.

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

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

Все названия переходов существуют в карте. Для базовой карты переходы двусторонние: если A ведёт в B, B содержит A.

Как проверить: Проверь четыре локации и отдельно сверяй обратные связи.

Что сдать

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

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

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

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

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

Добавь новую локацию и два связанных с ней перехода, затем сверяй словарь со схемой.

После базы: Отметь, какие переходы должны быть двусторонними, но не вводи функции до занятия 29.

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

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