Catalog · How the catalog works
Maze-generator
Генератор лабиринта и его визуализация (поддержка файлов)
- ★ 2 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
Maze Generator
Десктопное приложение на Delphi (VCL) для генерации и поиска решения в лабиринтах.
Технологии
- Язык: Delphi (Object Pascal)
- UI: VCL (Visual Component Library)
- Платформа: Windows
- Форматы: TXT, XLSX, BMP, PNG, JPEG
Архитектура
Модули
| Модуль | Назначение |
|---|---|
uMain |
Главное меню — запуск, информация о программе и авторе |
uProgramRun |
Экран настроек — размеры, цвета, позиции старта/финиша, загрузка |
uShowMaze |
Отображение лабиринта — меню решить/сохранить/удалить путь |
uPrim |
Генерация лабиринта — алгоритм Прима |
uBFS |
Поиск пути — BFS (Breadth-First Search) |
uDFS |
Поиск пути — DFS (Depth-First Search) |
uAStar |
Поиск пути — A* (A-Star с эвристикой Пифагора) |
uMyProcedures |
Общие процедуры: загрузка/генерация/поиск/отрисовка пути |
uSharedData |
Общие типы (TMap, TWay, TQueue) и глобальные переменные |
Data Flow
- Пользователь задаёт параметры → Generate → алгоритм Прима → лабиринт на
TPaintBox - Solve → последовательно запускаются BFS, A*, DFS → каждый рисует путь своим цветом → замер времени
- Загрузка: .txt / .xlsx → парсинг в
TMap→ отображение - Сохранение: .bmp / .png / .jpeg / .xlsx / .txt
Структуры данных
TMap = Array of Array of Char— сетка лабиринта (x— стена,0— проход,S— старт,E— финиш)TAlgorArray = Array of Array of Integer— массив расстояний для алгоритмов поискаTWay— связный список (путь, найденный A*)TQueue— двунаправленный список (очередь для BFS/DFS)
Возможности
Генерация
- Размеры лабиринта от 3×3 до 100×100
- Позиция старта и финиша: на краю или внутри лабиринта
Кастомизация
- Цвет фона (проходов)
- Цвет стен
- Цвет пути для каждого алгоритма (BFS / A* / DFS)
- Валидация конфликтов цветов (одинаковые цвета подсвечиваются предупреждением)
Поиск решения
- BFS — находит кратчайший путь
- DFS — ищет путь в глубину
- A* — эвристический поиск (евклидово расстояние)
- Замер времени выполнения каждого алгоритма
- Возможность удалить найденный путь
Загрузка
.txt— данные лабиринта.xlsx— Excel 2007+
Сохранение
.bmp— растровое изображение.png— PNG.jpeg— JPEG.xlsx— Excel 2007+.txt— данные лабиринта
Сборка
Откройте MazeGenerator.dpr (или .dproj) в Embarcadero Delphi и нажмите Run (F9).
Требования:
- Embarcadero Delphi (любая версия с VCL)
- Windows
- Для работы с Excel требуется установленный Microsoft Excel (OLE Automation)
Лицензия
См. LICENSE.

