# Задание 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` | выход (ровно один) |