void main(){ int i,j, moves, row, column; char resultPlayer; for(i = 0; i<3; i++){ for(j = 0; j<3; j++){ ticTacToe[i][j] = '_'; } } displayTicTacToe(); for(moves = 0 ;moves < 9 ; moves+=2){ printf("Player\n"); printf("Row:- "); scanf("%d",&row); printf("Column:- "); scanf("%d",&column); if(ticTacToe[row][column] == '_'){ ticTacToe[row][column] = 'X'; displayTicTacToe(); } else{ printf("Already Place Taken\n"); moves = moves - 2; } makeComputerMove(); resultPlayer = checkFinalWin(); if(resultPlayer != ' '){ printf("Player with %c Wins!!\n", resultPlayer); break; } } if(moves == 9){ printf("Match Tied\n"); } }
int main() { char playAgain; do { nodes_expanded = 0; //initialize the board. char *board = newBoard(); //get player and computer characters. char playerPiece = askUser("\nPlease choose your character (x or o): ", X, O); char computerPiece = getOpponentPiece(playerPiece); //check if player wants to play first. char ch = askUser("\nDo you want to play first ? (y or n): ", 'y', 'n'); if(ch == 'y') { makePlayerMove(board, playerPiece); } else if(ch == 'n') { } char winner; int turn = COMPUTER; //game loop. while(!isFilled(board) && (winner = whoWon(board)) == NONE) { if(turn == COMPUTER) { makeComputerMove(board, computerPiece); turn = PLAYER; } else { makePlayerMove(board, playerPiece); turn = COMPUTER; } } printBoard(board); //print results. if(winner == playerPiece) { printf("\n$ Congratulations! you have won. $\n"); } else if(winner == NONE) { printf("\n* The game is a draw. *\n"); } else { printf("\n@ You Lose!! @\n"); } printf("\nNumber of nodes expanded: %d", nodes_expanded); //ask if user wants to play again. playAgain = askUser("\n Do you want to play again? (y or n): ", 'y', 'n'); }while(playAgain == 'y'); return 0; }
void idle() { if ((player1Type==COMPUTER && player1Turn==true )|| (player2Type==COMPUTER && player1Turn==false )) { makeComputerMove(); } if (win(game,player1GamePiece)) recordWin(player1GamePiece); else if (win(game,player2GamePiece)) recordWin(player2GamePiece); else if(done(game)) { gameStatus=OVER; sb->setMessage(msg_GameEndsDraw); } }
void gameloop(struct game *state) { printf("gameloop: current board '%s' with player %c\n",state->board,state->player); displayGame(state); if(gameover(state) == 1) { return; } makePlayerMove(state,getPlayerMove(state)); displayGame(state); if(gameover(state) == 1) { return; } makeComputerMove(state); gameloop(state); }