]> git.cworth.org Git - ttt/blobdiff - src/test-board.c
Second draft attempt at ttt_board_is_won
[ttt] / src / test-board.c
index d4abb29be4df89d64f40ac86f1a5c71dee8e342f..313573528a0c156a57c59351ee39409bd7fbe2b9 100644 (file)
@@ -2,25 +2,52 @@
 
 #include "ttt-board.h"
 
+int ttt_board_is_won (ttt_board_t *board)
+{
+    if (
+       (board->cells[0] == board->cells[3] && board->cells[3] == board->cells[6] && board->cells[0] != TTT_CELL_EMPTY) ||
+       (board->cells[1] == board->cells[4] && board->cells[4] == board->cells[7] && board->cells[1] != TTT_CELL_EMPTY) ||
+       (board->cells[2] == board->cells[5] && board->cells[5] == board->cells[8] && board->cells[2] != TTT_CELL_EMPTY) ||
+       (board->cells[0] == board->cells[1] && board->cells[1] == board->cells[2] && board->cells[0] != TTT_CELL_EMPTY) ||
+       (board->cells[3] == board->cells[4] && board->cells[4] == board->cells[5] && board->cells[3] != TTT_CELL_EMPTY) ||
+       (board->cells[6] == board->cells[7] && board->cells[7] == board->cells[8] && board->cells[6] != TTT_CELL_EMPTY) ||
+       (board->cells[0] == board->cells[4] && board->cells[4] == board->cells[8] && board->cells[0] != TTT_CELL_EMPTY) ||
+       (board->cells[2] == board->cells[4] && board->cells[4] == board->cells[6] && board->cells[2] != TTT_CELL_EMPTY) 
+       )
+    {
+       printf ("%c's Win! ", board->current_player);
+       return(1);
+    }
+    else
+       return(0);
+}
+
 int
 main (void)
 {
     ttt_board_t board;
-    int m;
-    
+    int m, i, newline;
+
     ttt_board_init (&board);
     
-    printf ("This is the board \"");
-    ttt_board_write (&board, stdout);
-    printf ("\"\n");
-    
-    printf ("Make a move");
-    m = getchar() - '0';
-    ttt_board_make_move (&board, m);
+    for (i = 0; i <= 8; i++)
+    {
+       printf ("This is the board \"");
+       ttt_board_write (&board, stdout);
+       printf ("\"\n");    
+
+       printf ("Make a move \n");
+       m = getchar();
+       newline = getchar();
+       printf ("getchar returned a numeric value of %d which is character '%c'\n", m, m);
+       m = m - '0';
+       ttt_board_make_move (&board, m);
+    }
 
     printf ("This is the board \"");
     ttt_board_write (&board, stdout);
-    printf ("\"\n");
+    printf ("\"\n");    
+
 
     return 0;
 }