Skip to content

eendroroy/amazeing

Repository files navigation

amazeing

Amazeing is a maze generator/solver application with simulation/visualization.

title_animation_1.gif title_animation_2.gif title_animation_3.gif

Installation

Clone the repository and build the project:

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/<Space> - (Re)Generate Maze
    • Additional action in simulation mode (--verbose/-v):
      • LeftClick - Add Source
      • Shift+LeftClick - Remove Source
      • S/<Space> - Start Simulation
      • <Space> - 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/<Space> - Start Simulation
      • <Space> - Start/Pause/Resume Simulation

Example Commands

Generate - single source

# 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-shape 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-shape hexagonal
# short
amazeing C R -r 21 -c 21 -s 10,10 -p bfs -v -F 25 -U hexagonal

Generate - multi source

# 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-shape 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-shape hexagonal
# short
amazeing C R -r 21 -c 21 -s 7,7 -s 14,14 -p bfs -v -F 25 -U hexagonal

Update

# update bfs_21_21.maze
amazeing view --maze bfs_21_21.maze --update
# short
amazeing V -m bfs_21_21.maze -u

Solve

# 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
Dfs (Multi Source) Rectangle Square
Dfs Rectangle Square
Bfs Rectangle Square
Dfs Triangle Hexagon

Solve Maze

Algorithm Maze Shape Unit Shape
A* (Octile) Rectangle Hexagon
A* (Manhattan) Rectangle Square
DFS Rectangle Square
BFS Rectangle Square

Others

Color scheme generator

<iframe src="assets/scheme-generator.html" width="100%" height="920px"></iframe>

License

This project is licensed under the GNU AGPL-3.0 License. See the LICENSE file for more details.