First Release of 8-Puzzle
8-Puzzle is a sliding puzzle game that features a walkthrough of the optimal solution and allows users to customize the tiles using photos selected from their Gallery. In finding the optimal path from the current puzzle state to the goal state, the system employs the informed search algorithm A* and uses Manhattan distance as an admissible and consistent heuristic to estimate the cost.
Inspired by an exercise in our Mobile Development class, I started creating this app during our university break, after finishing my second year of undergraduate studies. As one of my first personal projects, working on this was an opportunity to synthesize concepts and practices that I learned from our sophomore courses, such as:
- Exploration of language features (Advanced Programming and Theory of Programming Languages)
- Program optimization (Algorithms and Complexity)
- Artificial intelligence and search algorithms (Introduction to Intelligent Systems)
- Quality assurance and unit testing (Introduction to Software Engineering)
This project also utilizes a continuous integration/continuous delivery (CI/CD) pipeline — which is the focus of our third-year class Advanced Software Engineering.
The API documentation can be viewed at https://memgonzales.github.io/sliding-puzzle/