Maze Generator and Solver

external-link

Sep 2024

Finished

Mazes are an interesting application of graph and algorithm theory. They can be represented in many ways, but the objective is always to navigate from one tile to another (the exit). Using Python, Pygame, and NumPy, we employ pathfinding algorithms like A* or Greedy to find the best solution. Two different maze generation algorithms are used: Origin Shift and DFS. Various strategies are then applied to solve them based on different heuristics. Many others can be implemented (also, since DFS is a somewhat simplistic maze generator), so you are more than welcome to contribute!

Technologies
python

Python

pygame

Pygame

numpy

NumPy

ai

AI

https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (1)_169.webp?v=a18ec73e7a600e91124dd2bb26890af1c6e03b8a
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (2)_169.webp?v=f07ebc3cc3f8429151b3b25fb0ee0086915fa53b
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (3)_169.webp?v=37be88de8db8109499647608d75abbe80449e0f3
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (4)_169.webp?v=ea65168b8573f3f3d6709b032293246bc0346754
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (5)_169.webp?v=378650ba1b4c01c50e40d2ab624006937b5ee920
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (6)_169.webp?v=6505e2090cfcad8e77d75e1d56a38879d49b4a24
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (7)_169.webp?v=35540f6be74bb55640477b5ee425024aee310f7c
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (8)_169.webp?v=0a2a745aa4d1dad092907f290fc5592a2a4efdd9
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (1)_169.webp?v=a18ec73e7a600e91124dd2bb26890af1c6e03b8a
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (2)_169.webp?v=f07ebc3cc3f8429151b3b25fb0ee0086915fa53b
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (3)_169.webp?v=37be88de8db8109499647608d75abbe80449e0f3
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (4)_169.webp?v=ea65168b8573f3f3d6709b032293246bc0346754
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (5)_169.webp?v=378650ba1b4c01c50e40d2ab624006937b5ee920
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (6)_169.webp?v=6505e2090cfcad8e77d75e1d56a38879d49b4a24
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (7)_169.webp?v=35540f6be74bb55640477b5ee425024aee310f7c
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (8)_169.webp?v=0a2a745aa4d1dad092907f290fc5592a2a4efdd9
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (1)_169.webp?v=a18ec73e7a600e91124dd2bb26890af1c6e03b8a
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (2)_169.webp?v=f07ebc3cc3f8429151b3b25fb0ee0086915fa53b
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (3)_169.webp?v=37be88de8db8109499647608d75abbe80449e0f3
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (4)_169.webp?v=ea65168b8573f3f3d6709b032293246bc0346754
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (5)_169.webp?v=378650ba1b4c01c50e40d2ab624006937b5ee920
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (6)_169.webp?v=6505e2090cfcad8e77d75e1d56a38879d49b4a24
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (7)_169.webp?v=35540f6be74bb55640477b5ee425024aee310f7c
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (8)_169.webp?v=0a2a745aa4d1dad092907f290fc5592a2a4efdd9
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (1)_169.webp?v=a18ec73e7a600e91124dd2bb26890af1c6e03b8a
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (2)_169.webp?v=f07ebc3cc3f8429151b3b25fb0ee0086915fa53b
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (3)_169.webp?v=37be88de8db8109499647608d75abbe80449e0f3
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (4)_169.webp?v=ea65168b8573f3f3d6709b032293246bc0346754
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (5)_169.webp?v=378650ba1b4c01c50e40d2ab624006937b5ee920
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (6)_169.webp?v=6505e2090cfcad8e77d75e1d56a38879d49b4a24
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (7)_169.webp?v=35540f6be74bb55640477b5ee425024aee310f7c
https://raw.githubusercontent.com/MiquelGomezCorral/Maze-Generator-Solver/main/readme_images/MazeSolver (8)_169.webp?v=0a2a745aa4d1dad092907f290fc5592a2a4efdd9