X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=src%2Ftest-board.c;h=e07e28dd89703821572de93eba4ea730a77fd1f2;hb=5166baca35916a708e6ad8539e5cb333bbcfeb18;hp=463e1b9eec267a35ef6cf17b8614477d5b5e5a59;hpb=026b745559a0e7df3422f3e44594519a6d4358a9;p=ttt diff --git a/src/test-board.c b/src/test-board.c index 463e1b9..e07e28d 100644 --- a/src/test-board.c +++ b/src/test-board.c @@ -7,32 +7,51 @@ main (void) { ttt_board_t board; int m, i, newline; - + ttt_cell_t winner, move_result; + ttt_board_init (&board); - for (i = 0; i <= 8; i++) + i = 0; while (i < 9) { ttt_board_write (&board, stdout); printf ("\n"); - - printf ("Make a move "); + + printf ("Make a move: "); m = getchar(); + if (m == EOF) + { + printf ("\nGoodbye.\n"); + exit (1); + } newline = getchar(); - m = m - '0'; - ttt_board_make_move (&board, m); - ttt_board_is_won (&board); - if (ttt_board_is_won (&board) == TTT_CELL_X) + 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; + + winner = ttt_board_is_won (&board); + if (winner == TTT_CELL_X) { printf ("X's Win! "); break; } - else if (ttt_board_is_won (&board) == TTT_CELL_O) + else if (winner == TTT_CELL_O) { printf ("O's Win! "); break; } + else if (i == 8) + { + printf ("Cat's Game!"); + break; + } + i++; } - + ttt_board_write (&board, stdout); printf ("\n"); return 0;