| .. | ||
| docs/data | ||
| maze_solver | ||
| mazes | ||
| demo.py | ||
| experiment.py | ||
| generate_mazes.py | ||
| generate_weighted_choice.py | ||
| plot_results.py | ||
| README.md | ||
Задание 2. Поиск выхода из лабиринта (паттерны GoF)
Применены 4 паттерна: Builder, Strategy, Observer, Command.
Как запустить
# 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 |
выход (ровно один) |