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

Here is my current code that needs to be edited: #include #include char square[1

ID: 3815868 • Letter: H

Question

Here is my current code that needs to be edited:

#include
#include

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

int checkwin();
void displayBoard();
void initializeBoard();
void validMove(char,int,int *);

int main()
{
int player = 1, i, choice;
initializeBoard();
char mark;
do
{
displayBoard();
player = (player % 2) ? 1 : 2;

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

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

validMove(mark,choice ,&player);
i = checkwin();

player++;
}while (i == - 1);
  
displayBoard();
  
if (i == 1)
printf("==>Player %d win ", --player);
else
printf("==>Game draw");

exit(0);

return 0;
}

void validMove(char mark,int choice, int *player){
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 = *player -1;
// getch();
exit(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 initializeBoard()
{
system("cls");
printf(" Tic Tac Toe ");

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


printf("| | | ");
printf("| | | ");

printf("_____|_____|_____ ");
printf("| | | ");

printf("| | | ");

printf("_____|_____|_____ ");
printf("| | ");

printf("| | | ");

printf("| | | ");
}


void displayBoard()
{
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("| | | ");
}

3. Tic-Tac-Toe, Part 3 (20 Points) Save a copy of your program and modify itto include a struct for player with fields for the name (up to 300 characters) and letter X' or 'o). Modify your makeMove0 function to take a player struct as an argument. Before the game, ask for the names of each player. Display their name when asking them to enter a move. When a player wins, display a message with that player's name. Otherwise, display a message saying that the game was a draw. Use the following function prototype: void makeMove (char [][COLS], struct player) Tip: To read in a string of up to 30 characters, use the following line: fgets (name, 30 stdin) Doing this will cause the string to end with an An' character. The following line will remove it (you need to include string h to use the strien0 function). p2.name [strlen (p2.name) ij 0; Example: Enter a name for player X: John Smith Enter a name for player o: William Wallace 1 2 3 John Smith enter a move 2 2 1 2 3 William Wallace enter a move:1 2 1 2 3

Explanation / Answer

#include <iostream>
using namespace std;
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;

       cout << "Player " << player << ", enter a number: ";
       cin >> 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
       {
           cout<<"Invalid move ";

           player--;
           cin.ignore();
           cin.get();
       }
       i=checkwin();

       player++;
   }while(i==-1);
   board();
   if(i==1)
cout<<"==>Player "<<--player<<" win ";
   else
cout<<"==>Game draw";
   cin.ignore();
   cin.get();
   return 0;
}
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;
}
void board()
{
   system("cls");
   cout << " Tic Tac Toe ";
   cout << "Player 1 (X) - Player 2 (O)" << endl << endl;
   cout << endl;
   cout << " | | " << endl;
   cout << " " << square[1] << " | " << square[2] << " | " << square[3] << endl;
   cout << "_____|_____|_____" << endl;
   cout << " | | " << endl;
   cout << " " << square[4] << " | " << square[5] << " | " << square[6] << endl;
   cout << "_____|_____|_____" << endl;
   cout << " | | " << endl;
   cout << " " << square[7] << " | " << square[8] << " | " << square[9] << endl;
   cout << " | | " << endl << endl;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote