Welcome
About This Program
This program is writing in a scripting language called tcl\tk. It stands for Tool Control Language. It is a free language supported by individuals and corporations. This is the reason why you have to have an installation of tcl interpreter, like the one provided by Activestate, at www.activestate.com.
How To Use This Program
After you have placed the compressed game file, decompressed it into a directory of your choice and have an installation of a tcl interpreter, you are ready to go. The way I usually do it is to make a shortcut to the main file sudoku.xxx, there the extension could be .tcl, ..... I place that shortcut on my desktop for easy access. Now it is just a case of double clicking the shortcut icon to invoke the Sudoku script. This assumes you are running Windows, which is what I run on. The script has not been tested on UNIX or Linux operating systems.
Initially you will see a tall rectangular window with the Sudoku matrix empty. Above the matrix are two drop down menu buttons that present game options and About / Help selections. Below the matrix, on the left is the time of day. The numbers 00:00:00 on the right are the timer which will tick away as the game progresses.
Game Number:
The game number field is the first user control below the timer displays. This is the game number and it will set the Sudoku board up the same way for the same game number. You can enter the number by typing or by using the up and down arrows beside the entry window. The game number is limited depending on the version that you have. To see the limit just hit the down arrow when the game number is one.
Level:
The game level is determined by the pull down menu below the game number entry. Selecting a level determines how many numbers will be displayed. Currently at level 1, 33 numbers will be displayed, and will reduce by one for each level. This presents a games of easy to medium difficulty level.
Start:
The Start button, starts the game, by either generating the initial board, or by prompting you to end a current game. Once started, progress is displayed to the user in the bottom line of the window. This progress is the random generation sequence. This is to let the user know that the program is working, if things take too long to generate, try reducing the effort level. Some games are do not generate very quickly.
Finish:
The Finish button is hit when the user thinks they are complete. The game will check the board and indicate success or failure. If the puzzle is successfully completed, the user will be prompted for their name. If the Ok button is hit, the user name, game number, game level and time will be recorded in the stats.html file. The record of completed games can be seen through the About drop down menu at the top of the window.
Options:
Effort Level
The options drop down menu at the top of the game board, allows the user to tune the game for their computer and personal preference. The generation effort level puts a limit on how many iterations the program will go through trying to generate a game board. If the users computer is older it may be prudent to try things on a lower effort level first. If the program can not generate the board in the number of tries associated with an effort level, it quits. The user will then just have to try a different game or a different level. Even on a relatively good computer, some of the boards take longer than I would like to generate. This will be addressed as new releases come out. Current settings are: Highest Effort Level 2500 tries, Medium Effort Level 1200 tries and Lowest Effort Level 600.
Change Color
Anther option available is to change the color of the given numbers in the board layout. The user is presented a color selection window and the color is updated.
Change Font
The Font option allows the user to set the size of the font and hence the size of the over all Sudoku board. This option button brings up a little font selection window, type in the size and select the font. Notice the font displayed at the top of the font selection window, and when satisfied, hit Ok.
Print Game
Once a game has been generated the Print Game option can be used to print the board to a postscript file. From there the user can print it in many ways. Currently that is the way it is implemented, and is an initial implementation of game printing. The game number and level are included in the print out. The file is output in the format: Sudoku_g#l#.ps, where g# stands for game number, and l# stands for level number. The file will be placed in the directory where the Sudoku script is located.
About:
The about tab has three options. The About Me tab shows the version number of your copy of the program. The other two options bring up the hyper help text window. The Stats selection brings up the hyper text window with the statistics window shown.
The Game Mechanics:
The full finished Sudoku board is generated randomly from the game number selected.
The number of positions shown is determined by the level number selected.
The positions of the shown numbers is generated randomly from the Level number.
The same game layout, or finished game board, will be generated for any given game number.
The same starting layout will be generated for any given game level.
The effort level limits the number of times the program will try to generate the shown numbers.
At the bottom of the game window, is the user info text line. As the game board is generated some information is put to that text line. While the numbers are rolling by, that is the time that the program is trying to generate the shown numbers.
Each time the shown numbers are generated the program tries to solve the puzzle. If it is successful, it stops and displays the board and starts the game. If it fails it updates the display of the count and tries again. On a slow computer this may take a while, use the effort level to control how much time will be spent.
This version of the program uses basic solving technique's and will be enhanced in future versions. This will enable harder game boards to be generated in less time.
Thats about it!!
Enjoy.