Write a program to make a Tic Tac Toe game in c++.

#include<iostream>

using namespace std;

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

char turn='X';

int row,column;

bool draw = false;

void Display_Board()

{

system("cls");

cout<<"\tTick  Tac  Toe  Game \n";

cout<<"\t   Player1 [X]\n";

cout<<"\t   Player2 [O]\n\n";

cout<<"\t     |     |     \n";

cout<<"\t  "<<game[0][0]<<"  |  "<<game[0][1]<<"  |  "<<game[0][2]<<"  \n";

cout<<"\t_____|_____|_____\n";

cout<<"\t     |     |     \n";

cout<<"\t  "<<game[1][0]<<"  |  "<<game[1][1]<<"  |  "<<game[1][2]<<"  \n";

cout<<"\t_____|_____|_____\n";

cout<<"\t     |     |     \n";

cout<<"\t  "<<game[2][0]<<"  |  "<<game[2][1]<<"  |  "<<game[2][2]<<"  \n\n";

}

void Player()

{

int choice;

if(turn == 'X')

cout<<"\tPlayer1 [X] turn : ";

if(turn == 'O')

cout<<"\tPlayer2 [O] turn : ";

cin>>choice;

switch(choice) //using switch for replacing number with player symbol

{

case 1: row =0; column =0; break;

case 2: row =0; column =1; break;

case 3: row =0; column =2; break;

case 4: row =1; column =0; break;

case 5: row =1; column =1; break;

case 6: row =1; column =2; break;

case 7: row =2; column =0; break;

case 8: row =2; column =1; break;

case 9: row =2; column =2; break;

default: cout<<"Invalid choice"; break;

}

if(turn == 'X' && game[row][column]!='X' && game[row][column]!='O') //player turn

{

game[row][column]= 'X';

turn = 'O';

}

else if(turn == 'O' && game[row][column]!='X' && game[row][column]!='O')

{

game[row][column]= 'O';

turn = 'X';

}

else

{

cout<<"Box already filled!\n Please try again !! \n\n";

Player();

}

Display_Board();

}

bool Game_Over()

{

//chech win or not //row //column

for(int i=0;i<3;i++)

if(game[i][0] == game[i][1] && game[i][0]==game[i][2] || game[0][i]==game[1][i] && game[0][i]==game[2][i] )

return false;

//diagonal

if(game[0][0] == game[1][1] && game[0][0] == game[2][2] || game[0][2] == game[1][1] && game[0][2] == game[2][0])

return false;

//if all boxes are filled

for(int i=0;i<3;i++)

for(int j=0;j<3;j++)

if(game[i][j]!= 'X' && game[i][j]!= 'O')

return true ;

//Draw

draw=true;

return false;

}

 int main()

{

while(Game_Over())

{

Display_Board();

Player();

Game_Over();

}

if( turn=='X' && draw == false)

cout<<" Player2 [O] wins !! Conragulations\n";

else if( turn=='O' && draw == false)

cout<<" Player1 [X] wins !! Conragulations\n";

else

cout<<" Game Draw !!\n";

}


Output:

Post a Comment

Please do not enter any spam link in the comment box.

Previous Post Next Post