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

Driver output Problem Statement You will build an application that allows a pers

ID: 3815588 • Letter: D

Question

Driver

output

Problem Statement You will build an application that allows a person to play tic-tac-toe against the computer. Your application will print out the board, have the computer select a spot, and ask the user to select a spot. This will continue until the game ends (a full row, column, or corner-to-corner diagonal have the same mark, or if no more moves are possible due to the lack of vacant spots). Your application will do limited error checking to ensure occupied spots won't be overwritten with new values. Finally, the board does not need to be 3x3. Your solution needs to be able to handle any square NxN) board. The parameter for board size is passed in the constructor

Explanation / Answer


// here the tic-tac-toe program is written
// I used 'X' for first player and 'o' for second player

#include <stdio.h>
#include <stdlib.h>

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

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

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(char mark)
i = checkwin();

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

getch();

return 0;
}

void validMove(char mark){
   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();
}
}

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

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

/*******************************************************************
END OF PROJECT
********************************************************************/

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