/////////////////////////////////////////////////////////////////////
// Game Playing using Minimax                                      //
// by Nick Cash                                                    //
//                                                                 //
// Fall 2007                                                       //
// 810:161 - Artificial Intelligence                               //
//                                                                 //
// readme.txt - contains information on how to compile and run     //
/////////////////////////////////////////////////////////////////////

Hello there,

My Tic-Tac-Toe variation is easy to compile. If you are testing on linux, then decompress
the zip file into your desired directory. There should be a file named Makefile. If so, hit
make. This will compile the code and generate an executable named ttt. You can run examples
in the follow fashion:

./ttt 9letterboardhere

Game boards must be 9 characters long. Each cell can be represented by a variety of characters:
X = x,X,1
O = o,O,0
Blank = ' ' <- space,- <- dash

For example, the board...

OXO
X X
OXO

could be written these different types of ways:

"OXOX XOXO"
0101-1010
oXox-xOXO

To run:
./ttt "OXOX XOXO"
./ttt 0101-1010
./ttt oXox-xOXO

All will give the same output.


--

If you are on Windows, an executable is provided under the name ttt-win32.exe. It is run in the
same fashion through a command prompt.


===== Extra Information =====


************
* The Code *
************

- main.cpp -> 81 lines
 * This contains the main() function, the starting point for the program.

- game.h -> 102 lines
 * Contains class definitions and function prototypes. There is also a definition switch that will
   enable more comprehensive output when boards are printed. Uncomment and recompile if desired.

- game.cpp -> 252 lines
 * Contains all member functions for cNode and cBoard.

-  minimax.cpp -> 152 lines
 * This file has our search algorithm, our static evaluator/utility function, and tree generating code.

- readme.txt -> 107 lines
 * Contains information relevent to the compilation and execution of this program.

Toal Lines: 694

*********
* Notes *
*********
 - If you run a blank board, the algorithm will take a -long- time and use a large amount of memory.
 - Using two or more filled spaces reduces the time and memory usage dramatically
 - The board is numbered 0-8 internally as follows

   0|1|2
   -----
   3|4|5
   -----
   6|7|8




*****************************
* Viewing The Source Online *
*****************************

- If, like me, you like to look at code with keyword highlighting and such, please view the source at:

  http://ew.xidus.net/download/ai/ttt/


**************************
* Questions and Comments *
**************************

Please send all feedback to Nick Cash at cashn@uni.edu. Thanks! :)