CONTENTS
--------
Purpose
Description
    Train a sudoku strategy
    Get the next strategy for continuation
    Get the next value for continuation
Supported sudoku strategies
Installation prologue
Installation
    1. CPAN
	2. CPANP
	3. Module::Build
	4. ExtUtils-MakeMaker
Starting SudokuTrainer
Restrictions


PURPOSE
-------
This document informs about SudokuTrainer version 0.000.001


DESCRIPTION
-----------
SudokuTrainer applies a series of sudoku strategies to find a
continuation in solving the user's sudoku game, starting with
the easiest strategies. The user may pause this process at 
various events to see what SudokuTrainer has achieved.

SudokuTrainer may help the user in three areas:
- Train a certain sudoku strategy
- See which strategy is used in the current state of the game
- Get a new value to continue solving the game
Each of these usage areas has it's own documentation.

Train a sudoku strategy
-----------------------
The user pauses SudokuTrainer when it just found the desired strategy.
At this moment the consequences of the finding are not yet shown on
the visible sudoku board. So the user may try to find the strategy
himself. If he isn't successful he may ask SudokuTrainer for clues.
The aim is to find the strategy with minimum help.

Get the next strategy for continuation
--------------------------------------
All currently known values (the preset and the found) are used as the
initial puzzle. The user lets run SudokuTrainer a single step. Then he
may try to detect the finding, or just see all the clues at once. The
game may go on.

Get the next value for continuation
-----------------------------------
This aid is well suited for sudoku players that don't know about
strategies. All currently known values (the preset and the found) are 
used as the initial puzzle. The user lets pause SudokuTrainer when the
next value is found. He can't see it on the visible sudoku board, so he
lets run SudokuTrainer to the next value. Now the previous finding is
shown (and marked) on the board. The game may go on.


SUPPORTED SUDOKU STRATEGIES
---------------------------
This version of SudokuTrainer supports the following strategies:
    Bivalue Universal Grave
    Block-Line Interaction
	Full House
    Hidden Pair
    Hidden Single
    Line-Block Interaction
    Naked Pair
    Naked Single
    Skyscraper
    Turbot Fish
    Two-String Kite
    Unique Rectangle Type 1
    Unique Rectangle Type 2
    X Wing
    XY Wing

	
INSTALLATION PROLOGUE
---------------------
This section is relevant only for users that work on Windows with the
Perl distribution ActivePerl.

Newer versions of ActivePerl install the MinGW package and the dmake
utility automatically when you use the shell commands cpan or cpanp for
the first time. I observed this with version v5.16.3, so maybe you can
ignore this section.

Please look whether Tk (the Perl/Tk package) or gcc (a C++ compiler) is 
installed. If none of them is present, choose one for install. In any 
case, you will need administative privileges for this.

Install gcc: Inside ppm, install the MinGW package. This will also install
             the gcc compiler.

Install Tk: In your browser, visit the website http://www.bribes.org/perl/.
            On the bottom, select your repository (32 bit or 64 bit). In the
            repository search for the "Tk" entry, copy the DOS command in it
            and insert it in the DOS shell window. This command will add Tk
            to the ppm repository of ActivePerl.

			
INSTALLATION
------------
There are several procedures available for installation of Perl modules. It's
recommended that you use the first one in this list that is available in your
Perl distribution. For all of them you will need administative privileges.

1. CPAN
-------
Use the shell command "cpan Games::Sudoku::Trainer".

2. CPANP
--------
Use the shell command "cpanp -i Games::Sudoku::Trainer".

-----------------
For the following installation procedures you need a preliminary step:
Visit the website ??????????
http://search.cpan.org/~adamk/List-MoreUtils-0.33/lib/List/MoreUtils.pm
http://search.cpan.org/xxxxxxx and download the distribution file:

On Linux:   tar -xzf SudokuTrainer-0.000.001-TRIAL.tar.gz
On Windows: Use a ZIP archiver program (e. g. winZIP or 7-Zip) to unpack the
            distribution file.
			
Finally enter the distribution directory:
cd SudokuTrainer-0.000.001-TRIAL

3. Module::Build
----------------
Enter the following commands, depending on your platform:
	  Linux                      Windows
	  -----                      -------
	perl Build.PL              perl Build.PL
	./Build                    Build
	./Build test               Build test
	sudo ./Build install       Build install

4. ExtUtils-MakeMaker
---------------------
This installation procedure is available since the first days of CPAN, and
it is still included in Perl installations. It uses the "make" utility.
However the name of this utility changes slightly depending on the platform.
e. g. on Windows the name is "dmake".

Enter the following commands, depending on your platform:
	  Linux                      Windows
	  -----                      -------
	perl Makefile.PL           perl Makefile.PL
	make                       dmake
	make test                  dmake test
	sudo make install          dmake install


STARTING SUDOKUTRAINER
----------------------
On Linux:   env PERL5LIB path/to/perl/site/lib   ???????? to be tested!! 
                                                 wohl + ...../perl/lib
            sudokutrainer.pl
On Windows: sudokutrainer


RESTRICTIONS
------------
SudokuTrainer never uses trial and error to proceed. As a 
consequence, SudokuTrainer cannot completely solve sudoku games 
that have multiple solutions.

SudokuTrainer deals with classical 9x9 sudoku games only.

SudokuTrainer is neither a sudoku teacher nor a sudoku player.


ACKNOWLEDGEMENT
---------------
Big parts of the installation instructions have been taken from the tutorial 
http://wiki.perl-community.de/Wissensbasis/ModuleWieInstalliereIchEinModul,
which was written by the German Perl forum www.perl-community.de.
