]> git.cworth.org Git - ttt/blobdiff - src/test-board.c
Kevin learning C maintenance
[ttt] / src / test-board.c
index dad0a5ed7af486042e58075fc6a76e242c39f245..89af8719bd53772147cf8becc4c343a5872a44ee 100644 (file)
@@ -1,45 +1,47 @@
 /* Test ttt-board.c */
 
-#include <stdio.h>                   
 #include "ttt-board.h"
 
-int ttt_board_make_move (ttt_board_t *board, int move);
-
-int ttt_board_make_move (ttt_board_t *board, int move)
-{                                    
-    
-    putchar(move);
-    if (board->cells[move] == '_')
-    {
-       board->cells[move] = 'X';
-       return(1);
-    }
-    else
-    {
-       return(0);
-    }
-}
-                                  
-
 int
 main (void)
 {
     ttt_board_t board;
-    int m;
+    int m, i, newline;
+    ttt_cell_t winner;
     
     ttt_board_init (&board);
     
-    printf ("This is the board \"");
-    ttt_board_write (&board, stdout);
-    printf ("\"\n");
+    i = 0; while (i < 9)
+    {
+       ttt_board_write (&board, stdout);
+       printf ("\n");    
+       
+       printf ("Make a move ");
+       m = getchar();
+       newline = getchar();
+       m = m - '0';
+       if (ttt_board_make_move (&board, m) == TTT_ERROR_NOT_VALID_MOVE)
+           continue;
+       winner = ttt_board_is_won (&board);
+       if (winner == TTT_CELL_X)
+       {
+           printf ("X's Win! ");
+           break;
+       }
+       else if (winner == TTT_CELL_O)
+       {
+           printf ("O's Win! ");
+           break;
+       }
+       else if (i == 8)
+       {
+           printf ("Cat's Game!");
+           break;
+       }
+       i++;
+    }
     
-    printf ("Make a move");
-    m = getchar() - '0';
-    ttt_board_make_move (&board, m);
-
-    printf ("This is the board \"");
     ttt_board_write (&board, stdout);
-    printf ("\"\n");
-
+    printf ("\n");    
     return 0;
 }