From de1170df68b527282a1d146ea58576a2340a0815 Mon Sep 17 00:00:00 2001 From: SerKin0 <71343548+SerKin0@users.noreply.github.com> Date: Fri, 22 May 2026 23:12:50 +0300 Subject: [PATCH] =?UTF-8?q?[2]=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=20=D0=BD=D0=B0=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= =?UTF-8?q?=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2-=D0=BB=D0=B0=D0=B1?= =?UTF-8?q?=D0=B8=D1=80=D0=B8=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skorohodovsa/task_2/docs/source/index.md | 1 + .../task_2/docs/source/naming_maze.md | 100 ++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 skorohodovsa/task_2/docs/source/naming_maze.md diff --git a/skorohodovsa/task_2/docs/source/index.md b/skorohodovsa/task_2/docs/source/index.md index 03c974e..a1f0950 100644 --- a/skorohodovsa/task_2/docs/source/index.md +++ b/skorohodovsa/task_2/docs/source/index.md @@ -2,4 +2,5 @@ :::{toctree} :maxdepth: 2 +naming_maze api \ No newline at end of file diff --git a/skorohodovsa/task_2/docs/source/naming_maze.md b/skorohodovsa/task_2/docs/source/naming_maze.md new file mode 100644 index 0000000..79b9071 --- /dev/null +++ b/skorohodovsa/task_2/docs/source/naming_maze.md @@ -0,0 +1,100 @@ +# Этап 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 \ No newline at end of file