Castling, en-passent and pawn promotion are all catered
for, but the rule "Game is drawn if a position repeats three times" is
not implemented. The CPU performs an alpha-beta search to a depth of two
moves, but does not examine check at the deepest level.