Project 1 - A Sudoku Game

Due Friday 2/19 - 11:59pm

The goals of this project are as follows:

    • become familiar with Java syntax
      • if statements
      • loops
      • arrays
      • file i/o
    • practice using object-oriented design and classes
    • practice algorithmic thinking and problem solving

For this project, you will implement a game of Sudoku. If you are not familiar with Sudoku, you can play a web version of the game at http://websudoku.com/.

Your version of the game will provide the user with a text-based interface. Your interface will repeatedly display the current puzzle and ask the user to enter the value for another square by prompting for the row, column, and value. When all squares are full, your program will check the solution and inform the user if the solution is correct or incorrect. Click here for a sample run of your program.

At minimum, your program must handle the following erroneous situations:

For full credit, you must implement the design specified in the javadoc found here. If you wish to modify or change the design, please make an appointment to speak with the instructor about your proposed design.

It is recommended that you implement and test your classes in the following order:

    1. Square
    2. Choice
    3. Board
      1. Implement checkRow and checkColumn first and checkSubsquare last.
    4. Player
    5. Game

Here are a few sample boards to get you started:

Submission Instructions

Please submit your work in an SVN directory https://www.cs.usfca.edu/svn/<username>/cs112/project1.