This project uses Python
along with pygame
package, to visualize complex maze generation and multiple shortest-path finding algorithms.
Algorithm | Purpose |
---|---|
Randomized Prim's Algorithm | Maze generation |
Dijkstra's Algorithm | Shortest-Path-Finding |
Breadth First Search Algorithm | Shortest-Path-Finding |
A* Search Algorithm | Shortest-Path-Finding |
Q-Learing + Depth First Search Algorithm | Shortest-Path-Finding |
- Clone the repository:
https://github.com/Chang-Chia-Chi/Maze-Generator-and-Shortest-Path-Finding-Project.git
- Run
pip3 install -r requirements.txt
to installpygame
package required. - Change direction to
/Shortest_Path
- Run
python runner.py
to start the game.
Left Click |
---|
Drawing walls on board |
Erasing walls on board |
Button click |
Right Click | Note |
---|---|
Set start & target cell |
Create start first then target |
Remove start & target cell |
Must remove target first then start |
Button | Purpose | Note |
---|---|---|
Search Start | Start Shortest-Path-Finding using specified algorithms | If any of start , target cell and algorithm has not been chosen, search will not start. |
Draw Wall | Drawing walls manually | Will not overwrite start and target cells. |
Erase Wall | Deleting walls manually | |
Maze | Generating Maze | Choose start cell only and no wall exist .Recommend to reset board first. |
Reset | Reset and initailize board |
Button | Algorithm |
---|---|
D | Dijkstra |
B | Breadth First Search |
A | A* Search |
Q | Q-Learning with Depth First Search |