tictactoe project is an implementation of the children's game.
This implementation of tictactoe can have an NxN sized board, where N is an odd number >= 3.
What makes this implementation different from others is that it does not use lookahead, and still never loses. It is more of an experiment than anything else.
There are two pieces - X and O. O always plays first. There are no real rules to this game, except that the first person to complete a line (row, column or diagonal) from one end to the other is the winner. Diagonals MUST pass through the centre.
The size of the board is configured at compile time by setting the SIZE macro. Only odd sized boards (3, 5, 7) will work. Don't even bother with even sized boards, I don't know what will happen.
What's so different about this implementation? Well, it doesn't use lookahead like most other implementations would. It basically places its piece on all available positions, and checks if the board arrangement `looks' good or not. It picks the best looking option.
This implementation should never lose, on any board >= 3X3, although it has been known to win on occassion.
The system is based on six rules that I will document later, but can be found in the source. The first two - win if possible, and block if opponent can win may be removed in a future version if the other rules seem to cover them.
What's New in This Release:
· Fixed one more losing case. Thanks to Philipp Niemann.