DSPS: TIC TAC TOE
//============================================================================
// Name : Tic_tac.cpp
// Author : Parashar
// Version :
// Copyright : Do not try this at home ;P
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
using namespace std;
class tictactoe
{
public:
char block[10];
public:
tictactoe();
int checkwin() ;
void board();
};
tictactoe::tictactoe()
{
block[1]='1';
block[2]='2';
block[3]='3';
block[4]='4';
block[5]='5';
block[6]='6';
block[7]='7';
block[8]='8';
block[9]='9';
}
void tictactoe::board()
{
cout<<" TICTACTOE "<<endl;
cout<<" PLAYER 1(X) PLAYER 2(O)"<<endl;
cout<<" | | "<<endl;
cout<<" "<<block[1]<<" | "<<block[2]<<" | "<<block[3]<<endl;
cout<<"___|___|___"<<endl;
cout<<" | | "<<endl;
cout<<" "<<block[4]<<" | "<<block[5]<<" | "<<block[6]<<endl;
cout<<"___|___|___"<<endl;
cout<<" | | "<<endl;
cout<<" "<<block[7]<<" | "<<block[8]<<" | "<<block[9]<<endl;
}
int tictactoe::checkwin()
{
if(block[1]==block[2] && block[2]==block[3])
return 1;
else if(block[4]==block[5] && block[5]==block[6])
return 1;
else if(block[7]==block[8] && block[8]==block[9])
return 1;
else if(block[1]==block[4] && block[4]==block[7])
return 1;
else if(block[2]==block[5] && block[5]==block[8])
return 1;
else if(block[3]==block[6] && block[6]==block[9])
return 1;
else if(block[1]==block[5] && block[5]==block[9])
return 1;
else if(block[3]==block[5] && block[5]==block[7])
return 1;
else if(block[1]!='1' && block[2]!='2' && block[3]!='3' &&
block[4]!='4' && block[5]!='5' && block[6]!='6'&&
block[7]!='7' && block[8]!='8' && block[9]!='9' )
return 0;
else
return -1;
}
int main()
{
tictactoe p;
int player=1,i;
char mark;
int ch;
do
{
p.board();
player=(player%2)?1:2;
cout << "Player " << player << ",\n enter a choice : ";
cin >> ch;
mark=(player==1)?'X':'O';
if(ch == 1 && p.block[1] == '1')
p.block[1] = mark;
else if(ch==2 && p.block[2]=='2')
p.block[2]=mark;
else if(ch==3 && p.block[3]=='3')
p.block[3]=mark;
else if(ch==4 && p.block[4]=='4')
p.block[4]=mark;
else if(ch==5 && p.block[5]=='5')
p.block[5]=mark;
else if(ch==6 && p.block[6]=='6')
p.block[6]=mark;
else if(ch==7 && p.block[7]=='7')
p.block[7]=mark;
else if(ch==8 && p.block[8]=='8')
p.block[8]=mark;
else if(ch==9 && p.block[9]=='9')
p.block[9]=mark;
else
{
cout<<"SORRY! INVALID MOVE\n";
player--;
}
player++;
i=p.checkwin();
}while(i==-1);
p.board();
if(i==1)
cout<<"Player"<<--player<<"win\n CONGRATULATIONS!";
else
cout<<"DRAW!!";
return 0;
}
/* TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
1 | 2 | 3
___|___|___
| |
4 | 5 | 6
___|___|___
| |
7 | 8 | 9
Player 1,
enter a choice : 1
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | 2 | 3
___|___|___
| |
4 | 5 | 6
___|___|___
| |
7 | 8 | 9
Player 2,
enter a choice : 5
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | 2 | 3
___|___|___
| |
4 | O | 6
___|___|___
| |
7 | 8 | 9
Player 1,
enter a choice : 2
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | X | 3
___|___|___
| |
4 | O | 6
___|___|___
| |
7 | 8 | 9
Player 2,
enter a choice : 4
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | X | 3
___|___|___
| |
O | O | 6
___|___|___
| |
7 | 8 | 9
Player 1,
enter a choice : 3
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | X | X
___|___|___
| |
O | O | 6
___|___|___
| |
7 | 8 | 9
Player1win
CONGRATULATIONS!
*/
// Name : Tic_tac.cpp
// Author : Parashar
// Version :
// Copyright : Do not try this at home ;P
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
using namespace std;
class tictactoe
{
public:
char block[10];
public:
tictactoe();
int checkwin() ;
void board();
};
tictactoe::tictactoe()
{
block[1]='1';
block[2]='2';
block[3]='3';
block[4]='4';
block[5]='5';
block[6]='6';
block[7]='7';
block[8]='8';
block[9]='9';
}
void tictactoe::board()
{
cout<<" TICTACTOE "<<endl;
cout<<" PLAYER 1(X) PLAYER 2(O)"<<endl;
cout<<" | | "<<endl;
cout<<" "<<block[1]<<" | "<<block[2]<<" | "<<block[3]<<endl;
cout<<"___|___|___"<<endl;
cout<<" | | "<<endl;
cout<<" "<<block[4]<<" | "<<block[5]<<" | "<<block[6]<<endl;
cout<<"___|___|___"<<endl;
cout<<" | | "<<endl;
cout<<" "<<block[7]<<" | "<<block[8]<<" | "<<block[9]<<endl;
}
int tictactoe::checkwin()
{
if(block[1]==block[2] && block[2]==block[3])
return 1;
else if(block[4]==block[5] && block[5]==block[6])
return 1;
else if(block[7]==block[8] && block[8]==block[9])
return 1;
else if(block[1]==block[4] && block[4]==block[7])
return 1;
else if(block[2]==block[5] && block[5]==block[8])
return 1;
else if(block[3]==block[6] && block[6]==block[9])
return 1;
else if(block[1]==block[5] && block[5]==block[9])
return 1;
else if(block[3]==block[5] && block[5]==block[7])
return 1;
else if(block[1]!='1' && block[2]!='2' && block[3]!='3' &&
block[4]!='4' && block[5]!='5' && block[6]!='6'&&
block[7]!='7' && block[8]!='8' && block[9]!='9' )
return 0;
else
return -1;
}
int main()
{
tictactoe p;
int player=1,i;
char mark;
int ch;
do
{
p.board();
player=(player%2)?1:2;
cout << "Player " << player << ",\n enter a choice : ";
cin >> ch;
mark=(player==1)?'X':'O';
if(ch == 1 && p.block[1] == '1')
p.block[1] = mark;
else if(ch==2 && p.block[2]=='2')
p.block[2]=mark;
else if(ch==3 && p.block[3]=='3')
p.block[3]=mark;
else if(ch==4 && p.block[4]=='4')
p.block[4]=mark;
else if(ch==5 && p.block[5]=='5')
p.block[5]=mark;
else if(ch==6 && p.block[6]=='6')
p.block[6]=mark;
else if(ch==7 && p.block[7]=='7')
p.block[7]=mark;
else if(ch==8 && p.block[8]=='8')
p.block[8]=mark;
else if(ch==9 && p.block[9]=='9')
p.block[9]=mark;
else
{
cout<<"SORRY! INVALID MOVE\n";
player--;
}
player++;
i=p.checkwin();
}while(i==-1);
p.board();
if(i==1)
cout<<"Player"<<--player<<"win\n CONGRATULATIONS!";
else
cout<<"DRAW!!";
return 0;
}
/* TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
1 | 2 | 3
___|___|___
| |
4 | 5 | 6
___|___|___
| |
7 | 8 | 9
Player 1,
enter a choice : 1
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | 2 | 3
___|___|___
| |
4 | 5 | 6
___|___|___
| |
7 | 8 | 9
Player 2,
enter a choice : 5
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | 2 | 3
___|___|___
| |
4 | O | 6
___|___|___
| |
7 | 8 | 9
Player 1,
enter a choice : 2
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | X | 3
___|___|___
| |
4 | O | 6
___|___|___
| |
7 | 8 | 9
Player 2,
enter a choice : 4
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | X | 3
___|___|___
| |
O | O | 6
___|___|___
| |
7 | 8 | 9
Player 1,
enter a choice : 3
TICTACTOE
PLAYER 1(X) PLAYER 2(O)
| |
X | X | X
___|___|___
| |
O | O | 6
___|___|___
| |
7 | 8 | 9
Player1win
CONGRATULATIONS!
*/
Comments
Post a Comment