This document defines an EightPuzzle class that implements a general search problem (GenSP) to solve 8-puzzle games using the A* search algorithm. It includes methods to get the initial puzzle state, check if a state is the goal/solution, get possible actions from a state, generate successor states from an action, and calculate a heuristic value for state evaluation. The main method creates an A* searcher using this heuristic and solves a sample 8-puzzle.