]> git.cworth.org Git - ttt/blobdiff - src/test-board.c
Prevented random memory corruption and other cleanup
[ttt] / src / test-board.c
index 89af8719bd53772147cf8becc4c343a5872a44ee..e07e28dd89703821572de93eba4ea730a77fd1f2 100644 (file)
@@ -7,7 +7,7 @@ main (void)
 {
     ttt_board_t board;
     int m, i, newline;
 {
     ttt_board_t board;
     int m, i, newline;
-    ttt_cell_t winner;
+    ttt_cell_t winner, move_result;
     
     ttt_board_init (&board);
     
     
     ttt_board_init (&board);
     
@@ -16,12 +16,23 @@ main (void)
        ttt_board_write (&board, stdout);
        printf ("\n");    
        
        ttt_board_write (&board, stdout);
        printf ("\n");    
        
-       printf ("Make a move ");
+       printf ("Make a move: ");
        m = getchar();
        m = getchar();
+       if (m == EOF)
+       {
+           printf ("\nGoodbye.\n");
+           exit (1);
+       }
        newline = getchar();
        newline = getchar();
-       m = m - '0';
-       if (ttt_board_make_move (&board, m) == TTT_ERROR_NOT_VALID_MOVE)
+       m -= '0';
+       move_result = ttt_board_make_move (&board, m);
+       if (move_result == TTT_ERROR_NOT_GRID)
+           printf ("Sorry, %c is an invalid move.\n"
+                   "Please enter a number between 0 & 8.", m + '0');
+       
+       if (move_result == TTT_ERROR_NOT_VALID_MOVE)
            continue;
            continue;
+       
        winner = ttt_board_is_won (&board);
        if (winner == TTT_CELL_X)
        {
        winner = ttt_board_is_won (&board);
        if (winner == TTT_CELL_X)
        {