Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Your assignment is to implement the following methods of GameModel:

  • Milestone 1
    • reduceCellSet (
    10
    • 15 pts)
    • reduceBoard  (15 pts)
    • solve -- partical solution for easy puzzles that have no irredicible states. 
  • Milestone 2
    • findMinChoiceCell (15 pts)
    • solveIrreducibleBoard (20 pts)
  • findMinChoiceCell (15 pts)
  • solveIrreducibleBoard (20 pts)

You are also required to have complete unit tests of those methods.  (10 pts)

Extra credit

    • solve - full solution (20 pts)

You are also required to have complete unit tests of those methods.  (15 pts)

Javadocs are already complete in the supplied code. If you add any fields, methods or classes, complete Javadocs will be expected for them. It is suggested that you do some level of Javadocs for your anonymous inner classes, if only to help keep things straight in your own head.

Milestone 1:



 

Extra credit

If you are attempting an extra credit task, put a note to such at the top of your GameModel class. If you don't, the staff might not see it and grade it.

(10 pts) Incorporate the supplied GeneratePuzzle utility capability into the main Sudoku solve, both in the view and the model, to enable the user to generate and solve any of the 50,000 supplied puzzles. 

(10 pts) As any seasoned Sudoku player knows, there are other reduction rubrics that can be applied to more quickly reduce a board.   For instance, if an unsolved cell includes a value choice that no other unsolved cell in its cell contains, then the cell must have that value (this can be extended to a sub-set of values spread across multiple cells in a cell set).    Can you incorporate additional reduction rubrics in a modular, flexible and extensible fashion?

(10 pts) Challenge!  Come up with a Sudoku puzzle (any order) that your solver can solve but the staff's solution cannot!

...