The Maze Solver Project is a Python-based application designed to provide users with an interactive maze-solving experience. This project allows users to either select pre-built mazes or create their own custom mazes. Once a maze is selected or created, users can choose a starting point and an end point within the maze.
- Pre-built Mazes: Users can choose from a variety of pre-built mazes, offering different levels of complexity and challenges.
- Custom Mazes: Users have the option to draw their own mazes, giving them full control over the design and layout.
- Algorithm Visualization: The application visually demonstrates the maze-solving algorithm in action. Users can observe step-by-step how the algorithm navigates through the maze to find the optimal path from the starting point to the end point.
- Manual Algorithm Execution: To run the algorithm, users simply need to press the "Enter key" in the Python terminal, enabling them to control the pace of the algorithm execution and observe the process in detail.
- Start and End Point Selection: Users can select their desired starting and ending points within the maze, allowing them to customize the solving process.
-
Maze Selection/Creation:
- Choose a pre-built maze or draw your own custom maze.
-
Start and End Point Selection:
- Select the starting and ending points within the maze.
-
Algorithm Execution and Visualization:
- Watch as the selected algorithm visually navigates through the maze, highlighting the path from the starting point to the end point.
-
Interactive Experience:
- Observe and understand the maze-solving process in real-time, enhancing your understanding of the chosen algorithm's functionality and efficiency.
-
Manual Algorithm Execution:
- To run the algorithm, press the "Enter key" in the Python terminal, allowing you to control the pace of the algorithm and observe each step.
For detailed instructions on how to run and configure the project, please refer to the Usage section in the README file.
- n: Dimension of the maze (nxn). Valid arguments are 3, 5, 10.
- drawMazeOption:
1: Draw an empty maze.2: Extract a maze. In this case, usemazeNameto specify the maze file.3: Generate a random maze. Additional parametersw,h,c,dare required.
- mazeName: Check the text file in the
mazefolder for available options. - w, h: Dimensions of the random maze (required when
drawMazeOptionis set to3). - c, d: Additional parameters for random maze generation (required when
drawMazeOptionis set to3). - minColor: Minimum color value of RGB allowed.
- colorDecreaseValue: Amount of color value to decrease from RGB when the program steps on the same square.
- relativeColorChange: If
True, squares will change color relative to their previous color. - waitTime: Wait time before starting to solve the maze.
- screenSize: Dimension of the window (width,height).
- searchChoice:
This project is licensed under the MIT License. See the LICENSE file for details.

