https://github.com/gunter0216/maze
Десктопное приложение для создания идеального лабиринта, поиска пути и генерации пещер через клеточный автомат.
https://github.com/gunter0216/maze
algorithms cpp qt
Last synced: 1 day ago
JSON representation
Десктопное приложение для создания идеального лабиринта, поиска пути и генерации пещер через клеточный автомат.
- Host: GitHub
- URL: https://github.com/gunter0216/maze
- Owner: gunter0216
- Created: 2023-06-05T09:45:39.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-06-08T09:36:54.000Z (about 2 years ago)
- Last Synced: 2025-03-02T23:43:35.813Z (4 months ago)
- Topics: algorithms, cpp, qt
- Language: C++
- Homepage:
- Size: 83 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Maze
В данном проекте реализованы алгоритмы создания идеального лабиринта, поиска пути и генерации пещер.
Графический интерфейс реализован с помощью фреймворка Qt.### Вкладка Maze
Вкладка *Maze* отвечается за создание идеального лабиринта и поиск пути в нём.
Для создания идеального лабиринта используется алгоритм Эллера.
Для поиска пути используется алгоритм Ли.- Поля *Ax*, *Ay* отвечают за ввод координат первой точки
- Поля *Bx*, *By* отвечают за ввод координат второй точки
- Поля *Width*, *Height* отвечают за ввод размера лабиринта
- Кнопка *Generate* отобразит случайно сгенерированный лабиринт
### Вкладка Cave
Вкладка *Cave* отвечается за создание пещер с использованим клеточного автомата.- Поля *Width*, *Height* отвечают за ввод размера пещеры
- Поле *Initialization chance* отвечает за ввод шанса создания живой клетки
- Поле *Birth limit* определяет предел "рождения" клетки
- Поле *Death limit* определяет предел "смерти" клетки
- Кнопка *Generate* отобразит случайно сгенерированную пещеру
- Кнопка *Step* отобразит следующую итерацию
- Кнопка *Start* начнёт отображать следующие итерации каждые *Delay* пока есть живые клетки
- Поле *Delay* определяет время между итерациями
### Вкладка File
Вкладка *File* отвечается за загрузку лабиринта/пещеры из файла и сохранение лабиринта/пещеры.