add README

This commit is contained in:
SobolevNS 2026-05-22 13:48:25 +03:00
parent 70c8bbf3e7
commit 5aac691724

View File

@ -0,0 +1,33 @@
# Задание 2. Поиск выхода из лабиринта (паттерны GoF)
Применены 4 паттерна: **Builder**, **Strategy**, **Observer**, **Command**.
## Как запустить
```bash
# 1) сгенерировать тестовые лабиринты
python3 generate_mazes.py
python3 generate_weighted_choice.py
# 2) демонстрация всех паттернов на маленьком лабиринте
python3 demo.py
# 3) эксперимент: 7 запусков × 4 стратегии × 7 лабиринтов
python3 experiment.py
# результат -> docs/data/results.csv
# 4) графики
python3 plot_results.py
# результат -> docs/data/plots/*.png
```
## Формат лабиринта (текстовый)
| Символ | Что означает |
| --- | --- |
| `#` | стена |
| ` ` (пробел) или `.` | проход, вес 1 (асфальт) |
| `,` | проход, вес 2 (песок) |
| `~` | проход, вес 3 (болото) |
| `S` | старт (ровно один) |
| `E` | выход (ровно один) |