Package : Dancing Sudoku
Link : http://sourceforge.net/projects/dancingsudoku/
Objective : To provide an interface with which a user can create or solve sudoku puzzles.
Author : Daniel Seiler
License : Apache 2.0
Dancing Sudoku did accomplish its goal of providing an graphical interface for creating or solving sudoku puzzles. On the interface this program has six options: save, open, dimensions, create, solve, or stop. Open and save are useful features to add to this program so that a person could send a puzzle to a friend to solve or save a puzzle for later. But, in my opinion the create and solve functions are the features which signify program completion.
Without a create and solve feature this program would only allow a user a to manually input the numbers into the respective boxes. the problem with this lies in the duplicate number verification where a user must manually check each row, column, and box to find any duplicate numbers. Whereas with this program users may input numbers into the sudoku box and verify non-duplicate numbers by pushing the solve button. In the similar way, the program can automatically create a sudoku puzzle without need for human verification of the numbers.
Even thought this program is easy to use, it suffers from a couple of design flaws. For one if a duplicate number is input into program, then the program does not show any error message; instead the program fails to run. Secondly the button order is not well organized with dimensions, then solve, then create, then stop. Rather, the create buttons should be next to dimensions since the user is creating a sudoku puzzle of a certain dimension. Lastly, the user may input letters into the sudoku puzzle such as ‘a’. Inputting ‘a’ then trying to solve the puzzle ends with the puzzle failing to solve without an error message indicating failure.
Dancing Sudoku completes PD #2 on the basis that the program itself is a standalone jar file. If the operating system is configured to automatically run jar files, double clicking the jar file will run the program. Alongside the jar file there is a Windows batch file which will automatically run the jar file in the Java Virtual Machine.
Dancing Sudoku does not complete PD #3. The source files are easy to integrate into Eclipse, but after viewing the source code, I must conclude that documentation of the code is sadly almost nonexistent. A few methods have a summary on the method’s algorithm, but the actual details of the algorithm is not documented. Also variable names are not well chosen as there are a couple of single character variables such as n, r, or c.
The only saving grace is that the Java syntax is well done.