2026-rff_mp/skorohodovsa/task_2/docs/source/naming_maze.md
SerKin0 5378824649 [2] Обновление документации:
- Добавлены разделы про алгоритмы
2026-05-24 17:17:48 +03:00

3.2 KiB
Raw Blame History

Этап 2. Загрузка лабиринта из файла

Во втором этапе разработки необходимо реализовать загрузку лабиринта из текстового файла, где: # стена, проход, S старт, E выход.

Систематизация файлов

Для удобного хранения лабиринтов было решено сделать систему наименования текстовых файлов в папке source/templates.

Общая структура:

{размер}_{свойство 1}-{свойство 2}-{свойство n}_{версия}.txt

Размер

Формат: {ширина}x{высота}

Пример Значение
10x10 10×10 клеток
50x50 50×50 клеток
100x100 100×100 клеток
30x30 30×30 клеток
20x20 20×20 клеток

Свойства

Свойство Код Описание
Простой путь path Существует маршрут от S до E
Тупики deadends Лабиринт специально содержит тупики (могут быть и в других типах, но здесь — гарантированно)
Запутанный spaghetti Сложная структура с циклами и ложными ходами
Пустой empty Нет стен (#), только пробелы, S и E
Без выхода noexit В лабиринте отсутствует символ E

Версия

Формат: v{номер}

  • v1, v2, v10

Примеры

Маленькие (10×10, простой путь)

10x10_path_v1.txt  
10x10_path_v2.txt  
...  
10x10_path_v10.txt

Средние (50×50, тупики)

50x50_deadends_v1.txt  
50x50_deadends_v2.txt  
...  
50x50_deadends_v10.txt

Большие (100×100, запутанные)

100x100_spaghetti_v1.txt  
100x100_spaghetti_v2.txt  
...  
100x100_spaghetti_v10.txt

Пустые (30×30)

30x30_empty_v1.txt  
30x30_empty_v2.txt  
...  
30x30_empty_v10.txt

Без выхода (20×20)

20x20_noexit_v1.txt  
20x20_noexit_v2.txt  
...  
20x20_noexit_v10.txt

Комбинированные свойства

50x50_deadends-noexit_v1.txt  
100x100_spaghetti-noexit_v1.txt  
10x10_path-empty_v1.txt (избыточно, но допустимо)

Примечание

  • Регистр имён файлов: нижний регистр
  • Разделители: только _ и -
  • Расширение: .txt
  • Кодировка: UTF-8