]> git.cworth.org Git - ttt/blob - src/test-board.c
Prevented random memory corruption and other cleanup
[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     i = 0; while (i < 9)
15     {
16         ttt_board_write (&board, stdout);
17         printf ("\n");    
18         
19         printf ("Make a move: ");
20         m = getchar();
21         if (m == EOF)
22         {
23             printf ("\nGoodbye.\n");
24             exit (1);
25         }
26         newline = getchar();
27         m -= '0';
28         move_result = ttt_board_make_move (&board, m);
29         if (move_result == TTT_ERROR_NOT_GRID)
30             printf ("Sorry, %c is an invalid move.\n"
31                     "Please enter a number between 0 & 8.", m + '0');
32         
33         if (move_result == TTT_ERROR_NOT_VALID_MOVE)
34             continue;
35         
36         winner = ttt_board_is_won (&board);
37         if (winner == TTT_CELL_X)
38         {
39             printf ("X's Win! ");
40             break;
41         }
42         else if (winner == TTT_CELL_O)
43         {
44             printf ("O's Win! ");
45             break;
46         }
47         else if (i == 8)
48         {
49             printf ("Cat's Game!");
50             break;
51         }
52         i++;
53     }
54     
55     ttt_board_write (&board, stdout);
56     printf ("\n");    
57     return 0;
58 }