X-Git-Url: https://git.cworth.org/git?p=ttt;a=blobdiff_plain;f=src%2Ftest-board.c;h=313573528a0c156a57c59351ee39409bd7fbe2b9;hp=dad0a5ed7af486042e58075fc6a76e242c39f245;hb=a17b73b1671accfb7d68f6e07616a265ae64e500;hpb=a39392e936d04a4852e1118cd1c92ffd026d951d diff --git a/src/test-board.c b/src/test-board.c index dad0a5e..3135735 100644 --- a/src/test-board.c +++ b/src/test-board.c @@ -1,45 +1,53 @@ /* Test ttt-board.c */ -#include #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] == '_') +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[move] = 'X'; + printf ("%c's Win! ", board->current_player); return(1); } else - { return(0); - } } - int main (void) { ttt_board_t board; - int m; - + 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() - '0'; - 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; }