]> git.cworth.org Git - ttt/blobdiff - src/test-board.c
Implemented Cat's Game
[ttt] / src / test-board.c
index 9e7f90e8ea4daf01beec034d3b4425b9fb5b578f..104395ef39748fc5f335e8fe3d093a6146e19523 100644 (file)
@@ -2,52 +2,45 @@
 
 #include "ttt-board.h"
 
-int ttt_board_is_won (ttt_board_t *board);
-
-int ttt_board_is_won (ttt_board_t *board)
-{
-    if (
-       board->cells[0] == board->cells[3] && board->cells[3] == board->cells[6] ||
-       board->cells[7] == board->cells[4] && board->cells[4] == board->cells[7] ||
-       board->cells[2] == board->cells[5] && board->cells[5] == board->cells[8] ||
-       board->cells[0] == board->cells[1] && board->cells[1] == board->cells[2] ||
-       board->cells[3] == board->cells[4] && board->cells[4] == board->cells[5] ||
-       board->cells[6] == board->cells[7] && board->cells[7] == board->cells[8] ||
-       board->cells[0] == board->cells[4] && board->cells[4] == board->cells[8] ||
-       board->cells[2] == board->cells[4] && board->cells[4] == board->cells[6] ||
-       )
-/*     printf ("'board->current_player''s Win!") */
-       return(1);
-    else
-       return(0);
-}
-
 int
 main (void)
 {
     ttt_board_t board;
     int m, i, newline;
-
+    
     ttt_board_init (&board);
     
-    for (i = 0; i <= 8; i++)
+    i = 0; while (i < 9)
     {
-       printf ("This is the board \"");
        ttt_board_write (&board, stdout);
-       printf ("\"\n");    
-
-       printf ("Make a move \n");
+       printf ("\n");    
+       
+       printf ("Make a move ");
        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);
+       if (ttt_board_make_move (&board, m) == TTT_ERROR_NOT_VALID_MOVE)
+           continue;
+       ttt_board_is_won (&board);
+       if (ttt_board_is_won (&board) == TTT_CELL_X)
+       {
+           printf ("X's Win! ");
+           break;
+       }
+       else if (ttt_board_is_won (&board) == TTT_CELL_O)
+       {
+           printf ("O's Win! ");
+           break;
+       }
+       else if (i == 8)
+       {
+           printf ("Cat's Game!");
+           break;
+       }
+       i++;
     }
-
-    printf ("This is the board \"");
+    
     ttt_board_write (&board, stdout);
-    printf ("\"\n");    
-
-
+    printf ("\n");    
     return 0;
 }