2006-01-14 Carl Worth <cworth@cworth.org>
[ttt] / src / test-board.c
1 /* Test ttt-board.c */
2
3 #include "ttt-board.h"
4
5 int
6 main (void)
7 {
8     ttt_board_t board;
9     int m, i, newline;
10     ttt_cell_t winner, move_result;
11
12     ttt_board_init (&board);
13     
14
15     i = 0; while (i < 9)
16     {
17         ttt_board_write (&board, stdout);
18         printf ("\n");    
19         
20         printf ("Make a move: ");
21         m = getchar();
22         if (m == EOF)
23         {
24             printf ("\nGoodbye.\n");
25             exit (1);
26         }
27         newline = getchar();
28         m -= '0';
29         move_result = ttt_board_make_move (&board, m);
30         if (move_result == TTT_ERROR_NOT_GRID)
31         {
32             printf ("Sorry, %c is an invalid move.\n"
33                     "Please enter a number between 0 & 8.", m + '0');
34             continue;
35         }
36         if (move_result == TTT_ERROR_NOT_VALID_MOVE)
37             continue;
38         
39         winner = ttt_board_is_won (&board);
40         if (winner == TTT_CELL_X)
41         {
42             printf ("X's Win! ");
43             break;
44         }
45         else if (winner == TTT_CELL_O)
46         {
47             printf ("O's Win! ");
48             break;
49         }
50         else if (i == 8)
51         {
52             printf ("Cat's Game!");
53             break;
54         }
55         i++;
56     }
57     
58     ttt_board_write (&board, stdout);
59     printf ("\n");
60
61     return 0;
62 }