int main() { unsigned int cur_board[MAX_BOARD_SIZE]; int won = 0; int i; for (i = 0; i < MAX_BOARD_SIZE; i++) cur_board[i] = 0; while (!won) { if (moves == MAX_CHILD_NODES) { printf("draw\n"); break; } emitBoard( cur_board ); getHumanMove( X_PLAYER, cur_board ); won = checkPlayerWin( X_PLAYER, cur_board ); moves++; if (!won) { if (moves == MAX_CHILD_NODES) { printf("draw\n"); break; } emitBoard( cur_board ); getComputerMove( cur_board ); // getHumanMove( O_PLAYER, cur_board ); moves++; won = checkPlayerWin( O_PLAYER, cur_board ); if (won) { printf("\nPlayer 2 wins!\n"); } } else { printf("\nPlayer 1 wins!\n"); } } emitBoard( cur_board ); return 0; }
int main(void) { BOOLEAN myturn; myturn = TRUE; drawBoard(); srand(time(NULL)); rand(); do { switch (status()) { case WIN: case LOSE: case DRAW: init(); drawBoard(); if (myturn) { makeMove(COMPUTER,(2+rand()%4),square); } myturn = !myturn; drawPiece(); } textcolor(4); gotoxy(1,20); cprintf("Your Turn, Please.\n"); getHumanMove(); gotoxy(1,20); textcolor(4); switch (status()) { case WIN: cprintf(WIN_MESSAGE); getch(); break; case LOSE: cprintf(LOSE_MESSAGE); getch(); break; case DRAW: cprintf(DRAW_MESSAGE); getch(); break; default:/*OK*/ if(computerMove()) { gotoxy(1,20); drawPiece(); gotoxy(1,20); switch (status()) { case WIN: cprintf(WIN_MESSAGE); getch(); break; case LOSE: cprintf(LOSE_MESSAGE); getch(); break; case DRAW: cprintf(DRAW_MESSAGE); getch(); break; } } } } while(TRUE); }