# 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
amzeing --help
```
### Key/Mouse events
- Common (all interactive modes)
- `Control`+`I` - Save current screen as PNG in current directory
- `Q` - Quit current view
- Create (`create`)
- `LeftClick` - Add/Remove Source (before generation starts)
- `Shift`+`LeftClick` - Set Destination (before generation starts; required for `a-star`/`bidirectional-a-start`)
- `G`/`<Space>` - Generate maze / Start simulation
- Additional actions in simulation mode (`--verbose`/`-v`):
- `<Space>` - Pause/Resume simulation
- `R` - Restart simulation and reset selection
- Additional action in non-simulation mode:
- `Control`+`S` - Save current maze to `--maze` path (if provided)
- View (`view`) - Update mode (`--update`/`-u`):
- `LeftClick` - Open path
- `Shift`+`LeftClick` - Block path
- `Control`+`S` - Save current maze to the same file
- Solve (`solve`)
- `LeftClick` - Select Source
- `Shift`+`LeftClick` - Select Destination
- Additional action in simulation mode (`--verbose`/`-v`):
- `S`/`<Space>` - Start simulation
- `<Space>` - Pause/Resume simulation
- `R` - Restart simulation and reset selection
## Generate Maze
| 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
| 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.