This DOS program plays the "Microscope" game from 7th Guest.
To run it, type reversi2 <CR>.
For (minimal) help, type ?

Playing:
Board cursor is represented by '+'.
Use the arrow keys to move the board cursor to an existing
"marble" (an 'x').  Hit space bar to select marble (becomes
cap 'X').  Use cursor keys to move to new position (program
indicates valid moves with '*').  Hit spacebar again to complete
move.  Program will 'think' a few seconds, then respond
by moving one of its "marbles" (an 'o').

The default skill level is 2 (2-move lookahead).
This can be changed by hitting 'l' (small-L), which
will cause it to cycle through 1-0-4-3-2-1-0-4-3- ..
The program will take longer to figure out each move
at skill levels 3 and 4.  Skill level 2 should be enough
to beat the Microscope game.
To have this program make the first move, hit 's' ("switch
sides") at start of game.
Thereafter, enter each of its moves into the Microscope
game, and enter each of the Microscope's moves into this game.

There is no undo, so enter moves carefully.  If the two
games get out of sync, you will have to restart each game.
To restart this game, hit 'q' (for quit), then when it
asks "New game?", enter 'y'.

The source code is included.  It is a simple game-playing
program.  Most of the routines are utility routines
for things like printing the board on the screen and
moving the cursor.

The decision on making the next move is carried out
by recursive routine find_best(), which tries all possible
moves, and calls itself to find all possible responses,
etc, until it reaches the maximum lookahead depth (default
2 moves each side), then picks the best outcome of all tried
and makes the corresponding next move.  This is not necessarily
optimal, but it seems to be good enough to beat the
Microscope program.

The two programs will not always play the same game, so if
you lose once, try try again.

Mark F. Davis
Compuserve: 72360, 2563
Internet: mfd@dolby.com
