main (void)
{
ttt_board_t board;
+ int m, i, newline;
+ ttt_cell_t winner, move_result;
ttt_board_init (&board);
+
- printf ("This is the board \"");
+ i = 0; while (i < 9)
+ {
+ ttt_board_write (&board, stdout);
+ printf ("\n");
+
+ printf ("Make a move: ");
+ m = getchar();
+ if (m == EOF)
+ {
+ printf ("\nGoodbye.\n");
+ exit (1);
+ }
+ newline = getchar();
+ m -= '0';
+ move_result = ttt_board_make_move (&board, m);
+ if (move_result == TTT_ERROR_NOT_GRID)
+ {
+ printf ("Sorry, %c is an invalid move.\n"
+ "Please enter a number between 0 & 8.", m + '0');
+ continue;
+ }
+ if (move_result == TTT_ERROR_NOT_VALID_MOVE)
+ continue;
+
+ winner = ttt_board_is_won (&board);
+ if (winner == TTT_CELL_X)
+ {
+ printf ("X's Win! ");
+ break;
+ }
+ else if (winner == TTT_CELL_O)
+ {
+ printf ("O's Win! ");
+ break;
+ }
+ else if (i == 8)
+ {
+ printf ("Cat's Game!");
+ break;
+ }
+ i++;
+ }
+
ttt_board_write (&board, stdout);
- printf ("\"\n");
+ printf ("\n");
return 0;
}