Perfect mazes: Thanks to the origin shift algorithm, the program always generates a perfect maze, because every cell in the maze has one and only path connecting it to the origin cell. So the maze is basically a tree where every cell is a child of the origin cell.
Graphical rendering: The program renders the whole process in real-time in a separate window using the SDL3 library
Interactivity: With the SDL3 library, the program reads the input of the keyboard and acts accordingly. This allows the user to start/stop the generation process, and give the signal to solve the maze.
How to use:
SPACEBAR: Activate/Deactivate the generation process.
0 hotkey: Randomly choose two cells as the entry and the exit
9 hotkey: Gives the signal to solve the maze by finding the path between the two previously chosen cells, using the DFS algorithm.