This project is made to understand how popular pathfinding algorithms work. Currently it can visualize:
- Dijkstra's Algorithm
- A* Algorithm
- Best First Search Algorithm
It has a grid based system for drawing walls, placing starting and ending nodes or even generating a random maze.
-
Install Python. I have used Python 3.8.1 but any version after Pyhton 3.5 would work. Download the latest version of Python from here.
-
Install Pygame library using pip. Use any command shell and use the following command:
pip install pygame
-
If for some reason Tkinter is not installed in your system (usually it comes with Python). Use any command shell and use the following command:
pip install tkinter
Compile and run main.py
.
-
A basic GUI that lets the user choose an algorithm, number of nodes in the grid and the speed of the visualization.
User can choose one of three pathfinding algorithms.
-
It also provides a grid system where the user can:
- Draw walls.
- Draw start and end nodes.
- Erase walls or start/end node.
- Clear the grid
- Generate random maze
Drawing in the window is simplified for easier usage and intuitive.
-
The random maze generator randomly creates walls and paths. Usually the results are underwhelming as it's just random noise.
I plan to implement better visualization measures to make it interactable in real-time. An online version of this would be nice as it would require no installations.