]> git.cworth.org Git - ttt/blobdiff - src/test-board.c
Second draft attempt at ttt_board_is_won
[ttt] / src / test-board.c
index b5929be97c39cc2000d1407f5c035923a365a3e4..313573528a0c156a57c59351ee39409bd7fbe2b9 100644 (file)
@@ -1,46 +1,53 @@
 /* Test ttt-board.c */
 
-#include <stdio.h>                   
 #include "ttt-board.h"
 
-int ttt_board_make_move (ttt_board_t *board, int move);
-
-int m;
-
-int ttt_board_make_move (ttt_board_t *board, int move)
-{                                    
-    putchar(move);
-    if (board->cells[m] == '_')
+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) 
+       )
     {
-       board->cells[m] = 'X';
+       printf ("%c's Win! ", board->current_player);
        return(1);
     }
     else
-    {
        return(0);
-    }
 }
-                                  
 
 int
 main (void)
 {
     ttt_board_t board;
-    
-    
+    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();
-    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;
 }