Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

written in c please make sure to do the additional options part as separate code

ID: 3713116 • Letter: W

Question

written in c please make sure to do the additional options part as separate code from the 2 player version

Write o Tie-Tac-Toe game that will play the game between two players. You must utilize the fellowing functiong dliplayBeard functlon that will display the actual gama board that is receved os a 3xs array argument (two dimensional) from the calling function. electLocatlen() function that will ash the user to enter the location for a particular player (X or O) and returm the location. etTurnO function that will sat the X or the O in the proper position within the gameboard chechForWin) function that will determine if there is a winner or it is a Cats gome You may use additional functions as you deem necessary, however, your program must include the aboue four functions and thase functions murt operate in the manner specified. They must only do the job that they were written to do. Your program must diplay ail oppropriate displays, comments, complete with error cheching Your error checking must allow the user additional attenpts until they comply. Once a oame has finished, your program must ash of it would like to play ogain. Additional Options Include an option to play against the computer. This s Al logic. For your Al logic follow these general beginning rules Win if possible Block opponent from winning Make any valid move you mut ettet e cpof thn sou re to t eo .cpp) to the TicTacToe Program in Moode.

Explanation / Answer

#include <stdio.h>

#include <conio.h>

char square[10] = { 'o', '1', '2', '3', '4', '5', '6', '7', '8', '9' };

int checkwin();

void board();

int main()

{

int player = 1, i, choice;

char mark;

do

{

board();

player = (player % 2) ? 1 : 2;

printf("Player %d, enter a number: ", player);

scanf("%d", &choice);

mark = (player == 1) ? 'X' : 'O';

if (choice == 1 && square[1] == '1')

square[1] = mark;

  

else if (choice == 2 && square[2] == '2')

square[2] = mark;

  

else if (choice == 3 && square[3] == '3')

square[3] = mark;

  

else if (choice == 4 && square[4] == '4')

square[4] = mark;

  

else if (choice == 5 && square[5] == '5')

square[5] = mark;

  

else if (choice == 6 && square[6] == '6')

square[6] = mark;

  

else if (choice == 7 && square[7] == '7')

square[7] = mark;

  

else if (choice == 8 && square[8] == '8')

square[8] = mark;

  

else if (choice == 9 && square[9] == '9')

square[9] = mark;

  

else

{

printf("Invalid move ");

player--;

getch();

}

i = checkwin();

player++;

}while (i == - 1);

  

board();

  

if (i == 1)

printf("==>Player %d win ", --player);

else

printf("==>Game draw");

getch();

return 0;

}

/*********************************************

FUNCTION TO RETURN GAME STATUS

1 FOR GAME IS OVER WITH RESULT

-1 FOR GAME IS IN PROGRESS

O GAME IS OVER AND NO RESULT

**********************************************/

int checkwin()

{

if (square[1] == square[2] && square[2] == square[3])

return 1;

  

else if (square[4] == square[5] && square[5] == square[6])

return 1;

  

else if (square[7] == square[8] && square[8] == square[9])

return 1;

  

else if (square[1] == square[4] && square[4] == square[7])

return 1;

  

else if (square[2] == square[5] && square[5] == square[8])

return 1;

  

else if (square[3] == square[6] && square[6] == square[9])

return 1;

  

else if (square[1] == square[5] && square[5] == square[9])

return 1;

  

else if (square[3] == square[5] && square[5] == square[7])

return 1;

  

else if (square[1] != '1' && square[2] != '2' && square[3] != '3' &&

square[4] != '4' && square[5] != '5' && square[6] != '6' && square[7]

!= '7' && square[8] != '8' && square[9] != '9')

return 0;

else

return - 1;

}

/*******************************************************************

FUNCTION TO DRAW BOARD OF TIC TAC TOE WITH PLAYERS MARK

********************************************************************/

void board()

{

system("cls");

printf(" Tic Tac Toe ");

printf("Player 1 (X) - Player 2 (O) ");

printf(" | | ");

printf(" %c | %c | %c ", square[1], square[2], square[3]);

printf("_____|_____|_____ ");

printf(" | | ");

printf(" %c | %c | %c ", square[4], square[5], square[6]);

printf("_____|_____|_____ ");

printf(" | | ");

printf(" %c | %c | %c ", square[7], square[8], square[9]);

printf(" | | ");

}

/*******************************************************************

END OF PROJECT

********************************************************************/