]> git.cworth.org Git - ttt/blobdiff - src/test-board.c
Second draft attempt at ttt_board_is_won
[ttt] / src / test-board.c
index 13f6f6c2af3017b757a649ad2db659ca7b1cd793..313573528a0c156a57c59351ee39409bd7fbe2b9 100644 (file)
@@ -2,6 +2,26 @@
 
 #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)
 {
@@ -17,8 +37,10 @@ main (void)
        printf ("\"\n");    
 
        printf ("Make a move \n");
-       m = getchar() - '0';
+       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);
     }