]> git.cworth.org Git - ttt/blob - src/test-board.c
313573528a0c156a57c59351ee39409bd7fbe2b9
[ttt] / src / test-board.c
1 /* Test ttt-board.c */
2
3 #include "ttt-board.h"
4
5 int ttt_board_is_won (ttt_board_t *board)
6 {
7     if (
8         (board->cells[0] == board->cells[3] && board->cells[3] == board->cells[6] && board->cells[0] != TTT_CELL_EMPTY) ||
9         (board->cells[1] == board->cells[4] && board->cells[4] == board->cells[7] && board->cells[1] != TTT_CELL_EMPTY) ||
10         (board->cells[2] == board->cells[5] && board->cells[5] == board->cells[8] && board->cells[2] != TTT_CELL_EMPTY) ||
11         (board->cells[0] == board->cells[1] && board->cells[1] == board->cells[2] && board->cells[0] != TTT_CELL_EMPTY) ||
12         (board->cells[3] == board->cells[4] && board->cells[4] == board->cells[5] && board->cells[3] != TTT_CELL_EMPTY) ||
13         (board->cells[6] == board->cells[7] && board->cells[7] == board->cells[8] && board->cells[6] != TTT_CELL_EMPTY) ||
14         (board->cells[0] == board->cells[4] && board->cells[4] == board->cells[8] && board->cells[0] != TTT_CELL_EMPTY) ||
15         (board->cells[2] == board->cells[4] && board->cells[4] == board->cells[6] && board->cells[2] != TTT_CELL_EMPTY) 
16         )
17     {
18         printf ("%c's Win! ", board->current_player);
19         return(1);
20     }
21     else
22         return(0);
23 }
24
25 int
26 main (void)
27 {
28     ttt_board_t board;
29     int m, i, newline;
30
31     ttt_board_init (&board);
32     
33     for (i = 0; i <= 8; i++)
34     {
35         printf ("This is the board \"");
36         ttt_board_write (&board, stdout);
37         printf ("\"\n");    
38
39         printf ("Make a move \n");
40         m = getchar();
41         newline = getchar();
42         printf ("getchar returned a numeric value of %d which is character '%c'\n", m, m);
43         m = m - '0';
44         ttt_board_make_move (&board, m);
45     }
46
47     printf ("This is the board \"");
48     ttt_board_write (&board, stdout);
49     printf ("\"\n");    
50
51
52     return 0;
53 }