https://github.com/eendroroy/amazeing
Generate and Solve Maze
https://github.com/eendroroy/amazeing
algorithms maze-generator maze-solver simulation
Last synced: 6 months ago
JSON representation
Generate and Solve Maze
- Host: GitHub
- URL: https://github.com/eendroroy/amazeing
- Owner: eendroroy
- License: agpl-3.0
- Created: 2025-02-23T09:56:26.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-05-15T14:16:35.000Z (8 months ago)
- Last Synced: 2025-05-15T15:29:15.825Z (8 months ago)
- Topics: algorithms, maze-generator, maze-solver, simulation
- Language: Shell
- Homepage: https://eendroroy.github.io/amazeing/
- Size: 11.8 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# amazeing
Amazeing is a maze generator/solver application with simulation/visualization.



## Installation
Clone the repository and build the project:
```sh
git clone https://github.com/eendroroy/amazeing.git
cd amazeing
make install # this will install shell-completions
```
## Usage
> Run `amazeing --help`
### Key/Mouse events
- `Control`+`I` - Save current screen as png in current directory
- Create
- `G`/`` - (Re)Generate Maze
- Additional action in simulation mode (`--verbose`/`-v`):
- `LeftClick` - Add/Remove Source
- `Shift`+`LeftClick` - Set Destination
- `S`/`` - Start Simulation
- `` - Start/Pause/Resume Simulation
- View - Update mode (`--update`/`-u`):
- `LeftClick` - Open path
- `Shift`+`LeftClick` - Block Path
- `Control`+`S` - Save current maze to the same file
- Solve
- `LeftClick` - Select Source
- `Shift`+`LeftClick` - Select Destination
- Additional action in simulation mode (`--verbose`/`-v`):
- `S`/`` - Start Simulation
- `` - Start/Pause/Resume Simulation
## Example Commands
#### Generate - single source
```shell
# generate 21x21 maze using BFS - single source
amazeing create rectangle --maze bfs_21_21.maze --rows 21 --cols 21 --source 10,10 --procedure bfs --unit-component square
# short
amazeing C R -m bfs_21_21.maze -_r 21 -c 21 -s 10,10 -p bfs -U square
# simulate - multi source
amazeing create rectangle --rows 21 --cols 21 --source 10,10 --procedure bfs --verbose --fps 25 --unit-component hexagonal
# short
amazeing C R -_r 21 -c 21 -s 10,10 -p bfs -v -F 25 -U hexagonal
```
#### Generate - multi source
```shell
# generate 21x21 maze using BFS - multi source
amazeing create rectangle --maze bfs_21_21.maze --rows 21 --cols 21 --source 7,7 --source 14,14 --procedure bfs --unit-component sqaure
# short
amazeing C R -m bfs_21_21.maze -_r 21 -c 21 -s 7,7 -s 14,14 -p bfs -U square
# simulate - multi source
amazeing create rectangle --rows 21 --cols 21 --source 7,7 --source 14,14 --procedure bfs --verbose --fps 25 --unit-component hexagonal
# short
amazeing C R -_r 21 -c 21 -s 7,7 -s 14,14 -p bfs -v -F 25 -U hexagonal
```
#### Update
```shell
# update bfs_21_21.maze
amazeing view --maze bfs_21_21.maze --update
# short
amazeing V -m bfs_21_21.maze -u
```
#### Solve
```shell
# solve bfs_21_21.maze
amazeing solve --maze bfs_21_21.maze --procedure bfs
# short
amazeing S -m bfs_21_21.maze -p bfs
# simulate
amazeing solve --maze bfs_21_21.maze --procedure bfs --verbose --fps 25
# short
amazeing S -m bfs_21_21.maze -p bfs -v -F 25
```
## Generate Maze
| Algorithm | Maze Shape | Unit Shape | |
|--------------------|------------|------------|--------------------------------------------------------------------------------------------------|
| Dfs | Rectangle | Hexagon | [](https://www.youtube.com/watch?v=twafvSeVQOs) |
| Dfs (Multi Source) | Rectangle | Square | [](https://www.youtube.com/watch?v=fL93bHyf6-M) |
| Dfs | Rectangle | Square | [](https://www.youtube.com/watch?v=iyxUARc2T2g) |
| Bfs | Rectangle | Square | [](https://www.youtube.com/watch?v=st8RLTgAuuE) |
| Dfs | Triangle | Hexagon | [](https://www.youtube.com/watch?v=0c4s49G1RAk) |
| A* (Manhattan) | Circle | Hexagon | [](https://www.youtube.com/shorts/CZanPMEyYZE) |
## Solve Maze
| Algorithm | Maze Shape | Unit Shape | |
|----------------|------------|------------|--------------------------------------------------------------------------------------------------|
| A* (Octile) | Rectangle | Hexagon | [](https://www.youtube.com/watch?v=MRt7X6JGDuo) |
| A* (Manhattan) | Rectangle | Square | [](https://www.youtube.com/watch?v=LkxyikxTX6Y) |
| DFS | Rectangle | Square | [](https://www.youtube.com/shorts/9F8XRL7lnIU) |
| BFS | Rectangle | Square | [](https://www.youtube.com/shorts/h8q5vi68fz0) |
## Others
[Color scheme generator](assets/scheme-generator.html)
## License
This project is licensed under the [GNU AGPL-3.0 License](https://www.gnu.org/licenses/agpl-3.0.html).
See the [LICENSE](./LICENSE) file for more details.