public interface IPuzzle { public void resetPuzzle(); // restore puzzle to sorted state public boolean isSolved(); // return true is puzzle is in sorted state public boolean move(char dir); // move a tile into the blank position public void scramble(); // scramble puzzle based on difficulty level public void display(); // print out current puzzle public void autoSolve(); // solve the puzzle automatically }