Micah Russo 515607 readme.txt for /home/phool/comp210/final/connect5 This connect5 program uses a rudimentary version of min/mix to play connect5. Its general algorithm is as follows: 1. Read in the size and values of a board of connect five where: a. Size 5-20 b. Foe's piece is denoted by -1 c. Empty space is denoted by 0 d. Friendly piece is denoted by 1 2. Given this board search it for the next appropiate move by: a. Starting in the upper left hand corner b. If this space is empty place a friendly piece there and evaluate the board, otherwise see (c) 1. Evalution proceeds by starting in the upper left hand corner 2. Check the relevant horizontal, vertical, and diagonal rows extending from this space. 3. For each of these, total the number of friendly and foe pieces 4. Give the row a value according to this number (i.e. 4 friendly in a row is worth 300) 5. Sum these values across the entire board and attach to inital board position 6. Reset board to initial conditions c. If space is not empty assign a score of -20000 (presumable less than anything else that could be generated) d. Proceed across the entire board in this fashion e. When done, search for the highest score. The functions and subfunctions were tested as written using "couts" in their body to print relevant information out as it was created. The only source file used was iostream.h Known(?) Bugs: The only bug I have encountered occurs when it plays itself on a 10x10 board. After many moves one of the players will return an illegal move (according to conn5-gui/text). However, inputting this board manually produced a legal move and I was told by a member of our class that this error was a result of the conn5-gui/text program rather than mine. Interesting aside: On boards of size 5-10, when pitted against itself connect5 consistently produced draws. Any larger board resulted in a win by player 1. A similar version of connect5 is located at /home/phool/comp210/fun This version allows the user to manually input moves and play against it. It does not, however, recognize a win/draw or an illegal move made by the user. But, it does output the score array used to determine the move made by the program. Any further questions can be directed to phool@rice.edu