A Python-based Eight Puzzle Solver with a graphical interface using PyQt5. This project demonstrates the application of the A* search algorithm to find the optimal solution for the classic 8-puzzle problem.
The Eight Puzzle Solver allows users to visualize the process of solving the 8-puzzle problem. The project integrates complex algorithms with a user-friendly interface, providing real-time feedback and a visual representation of the puzzle's solution.
- A Algorithm*: Uses the A* search algorithm to find the best solution.
- Real-Time Timer: Tracks the time taken to solve the puzzle with millisecond precision.
- Visual Puzzle Movement: Displays the movement of puzzle pieces as the solution is applied.
- Fixed Window Size (In Progress): Ensures a non-resizable, perfectly aligned interface.
To run the Eight Puzzle Solver on your local machine, follow these steps:
- Clone the repository:
git clone https://github.com/sminerport/8PuzzleSolver.git
- Navigate to the project directory:
cd EightPuzzleSolver
- Install the required dependencies:
pip install -r requirements.txt
To start the Eight Puzzle Solver, run:
python main.py
Once started, you can use the Shuffle button to randomize the puzzle and the Solve button to watch the A* algorithm in action.
- Python
- PyQt5
- SimpleAI
Contributions are welcome! Please open an issue or submit a pull request with your improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions, feel free to contact me:
- GitHub: sminerport
- Email: scott.miner.data.scientist@gmail.com