TIC TAC TOE
#include<iostream>
using
namespace std;
char
broad[3][3]={{'1','2','3'},{'4','5','6'},{'7','8','9'}};
char turn='x';
int row,column;
bool draw=false;
void
display_broad()
{
system("cls");
cout<<"\t\t\t\t\t**********************************"<<'\n';
cout<<"\n\n\t\t\t\t\t t i
c k c r o s s G a m e"<<'\n';
cout<<"\t\t\t\t\t**********************************"<<'\n';
cout<<"\t\t\t\t\t**\t
player 1[x]\t\t**"<<'\n';
cout<<"\t\t\t\t\t**\t
player 2[o]\t\t**"<<'\n';
cout<<"\t\t\t\t\t**\t |
| \t**"<<endl;
cout<<"\t\t\t\t\t**\t
"<<broad[0][0]<<"
|
"<<broad[0][1]<<"
| "<<broad[0][2]<<" \t**"<<endl;
cout<<"\t\t\t\t\t**\t_____|_____|_____\t**"<<endl;
cout<<"\t\t\t\t\t**\t |
| \t**"<<endl;
cout<<"\t\t\t\t\t**\t
"<<broad[1][0]<<"
|
"<<broad[1][1]<<"
| "<<broad[1][2]<<" \t**"<<endl;
cout<<"\t\t\t\t\t**\t_____|_____|_____\t**"<<endl;
cout<<"\t\t\t\t\t**\t |
| \t**"<<endl;
cout<<"\t\t\t\t\t**\t
"<<broad[2][0]<<"
|
"<<broad[2][1]<<"
| "<<broad[2][2]<<" \t**"<<endl;
cout<<"\t\t\t\t\t**\t |
| \t**"<<endl;
cout<<"\t\t\t\t\t**********************************"<<'\n';
}
void
player_turn(){
int choice;
if(turn=='x')
cout<<"\n\t\t\t\t\t\t
player 1 [x] turn:";
if(turn=='o')
cout<<"\n\t\t\t\t\t\t
player 2[o] turn:";
cin>>choice;
switch(choice) {
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<<"\t\t\t\t\tinvalid
choice";
break;
}
if(turn=='x' &&
broad[row][column]!='x' && broad[row][column]!='o')
{
broad[row][column]='x';
turn='o';
}
else if(turn=='o'
&& broad[row][column]!='x' && broad[row][column]!='o')
{
broad[row][column]='o';
turn='x';
}
else
{
cout<<"\t\t\t\t\tBOX
Already filled";
player_turn();
}
display_broad();
}
bool
gameover(){
//check win
for( int i=0; i<3; i++ )
if
(broad[i][0]==broad[i][1]&&broad[i][0]==broad[i][2] ||
broad[0][i]==broad[1][i]&&broad[0][i]==broad[2][i])
return false;
for( int j=0; j<3 ; j++ )
if
(broad[j][0]==broad[j][1]&&broad[j][0]==broad[j][2] ||
broad[0][j]==broad[1][j]&&broad[0][j]==broad[2][j])
return false;
if
(broad[0][0]==broad[1][1]&&broad[0][0]==broad[2][2] ||
broad[0][2]==broad[1][1]&&broad[0][2]==broad[2][0])
return false;
// not filled
for( int i=0; i<3; i++ )
for( int j=0; j<3; j++ )
if (broad[i][j]!='x' &&
broad[i][j]!='o')
return true;
//draw
draw = true;
return
false;
}
main()
{
while(gameover()){
display_broad();
player_turn();
gameover();
}
if(turn=='x'
&& draw==false)
cout<<"\t\t\t\t\tplayer2
[o] win!! congratulation"<<endl;
else
if(turn=='o' && draw==false )
cout<<"\t\t\t\t\tplayer1
[x] win!! congratulation"<<endl;
else
cout<<"GAME DRAW ! !
{~_~}"<<endl;
return 0;
}
OUTPUT
0 Comments