Professional Documents
Culture Documents
A MICROPROJECT REPORT ON
1.Sambare Ajinkya[229]
2.Shinde Vedika[241]
3.Shinde Yashraj[242]
4.Songare Shreya [245]
1|Page
DEPARTMENT OF COMPUTER TECHNOLOGY
Sanjivani rural education sosiety’s
CRETIFICATE
This is to certify that the microproject report entitled
1.Sambare Ajinkya[229]
2.Shinde Vedika[241]
3.Shinde Yashraj[242]
4.Songare Shreya[245]
Under our supervision and guidance for pratical fulfillment pop the
requirements for diploma in computer technology located to Maharashtra,
board of technical education ,Mumbai
2|Page
Rationale
3|Page
AIM :-
To devlop operating system ,browsers and game using
object oriented languages ;and many concepts using c++
language.
Liturature review :-
4|Page
Actual Methodology Followed :-
The Project Code is implemented using Object Oriented
Programming Using C++ Language.
Following are the details of Concepts used in the
program and the software used to run this program.
The OOP Concepts:
5|Page
3. Software used Turbo c++ version 3.0 01
6|Page
int i=0; //where i is row and j will be columns
int j=0;
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
{
board[i][j] =0;
display_board[i][j] = ' ';
}
}
}
int TicTacToe::Pick_Player()
{
return player;
}
int TicTacToe::Pick_Row()
{
return row;
}
int TicTacToe::Pick_Column()
{
return column;
}
void TicTacToe::Choice_by_Player(int a)
{
player=a;
}
void TicTacToe::Choice_of_Row(int b)
{
row=b;
}
void TicTacToe::Choice_of_Column(int c)
{
column=c;
}
7|Page
bool TicTacToe::Check_Move(int row, int column)
{
if (row!=0 && row!=1 && row!=2 )
{
cout<<"Invalid choice!!"<<endl;
return 0;
}
else if (column!=0 && column!=1 && column!=2 )
{
cout<<"Invalid choice!!"<<endl;
return 0;
}
else if (board[row][column] ==1 || board[row][column] ==2)
{
cout<<"Space already used. Try Again." <<endl;
return 0;
}
else
{
board[row][column] = player;
return 1;
}
}
int TicTacToe::Check_Board()
{
int i=0;
int j=0;
int sum= 0;
int test= 0;
int count= 0;
for (i= 0; i<3; i++)
{
sum=0;
for(j=0; j<3; j++)
{
8|Page
if (board[i][j] ==0)
{
count++;
}
sum +=(board[i][j]*board[i][j]);
}
if (sum==3 ||sum==12)
{
test=sum;
break;
}
sum=0;
}
for (j=0; j<3; j++)
{
sum=0;
for (i=0; i<3; i++)
{
sum+=(board[i][j]*board[i][j]);
}
if (sum==3 || sum==12)
{
test=sum;
break;
}
sum=0;
}
if(test!=3 ||test!=12)
{
sum = (board[0][0] * board[0][0])+ (board[1][1] * board[1]
[1]) +
(board[2][2] * board[2][2]);
if ( sum == 3 || sum == 12)
{
test=sum;
9|Page
}
}
if (test != 3 || test != 12)
{
sum = (board[2][0] * board[2][0])+ (board[1][1] * board[1]
[1]) +
(board[0][2] * board[0][2]);
if (sum==3||sum==12)
{
test=sum;
}
}
if (test==3)
{
test=1;
}
else if (test==12)
{
test=2;
}
else if (count==0)
{
test=3;
}
else
{
test=0;
}
return test;
}
void TicTacToe::Tic_Tac_Toe_Board()
{
for ( int row = 0; row < 3; row ++)
{
for ( int column = 0; column < 3; column++)
10 | P a g e
{
if ( board[row][column] == 0)
{
display_board[row][column] = ' ';
}
if ( board[row][column] == 1)
{
display_board[row][column] = 'X';
}
if ( board[row][column] == 2)
{
display_board[row][column] = 'O';
}
}
}
cout<<"Welcome to tic-tac-toe!"<<endl<<endl;;
cout<< " Current Player: X Current Player: O " <<
endl<<endl<<endl;
cout << " | | " << endl;
cout << " | | " << endl;
cout <<display_board[0][0] << " "<<display_board[0][1]<<" |
" << display_board[0][2] << " " << endl;
cout << " | | " << endl;
cout << "-----------------------------------------------" << endl;
cout << " | | " << endl;
cout << " | | " << endl;
cout <<display_board[1][0] << " "<<display_board[1][1]<<" |
" << display_board[1][2] << " " << endl;
cout << " | | " << endl;
cout << "-----------------------------------------------" << endl;
cout << " | | " << endl;
cout <<display_board[2][0] << " "<<display_board[2][1]<<" |
" << display_board[2][2] << " " << endl;
cout << " | | " << endl;
cout << " | | " << endl;
11 | P a g e
}
int main()
{
TicTacToe game;
bool test;
bool more=true;
int row=0;
int column=0;
int player;
int check=0;
TicTacToe();
while (more)
{
game.Tic_Tac_Toe_Board();
player= game.Pick_Player();
cout<<" Current Player "<<player;
cout<< endl;
cout<< "Enter Row Index (0, 1, or 2): " <<endl;
cin>>row;
cout<<"Enter Column Index (0, 1, or 2): "<<endl;
cin>>column;
game.Choice_of_Row(row);
game.Choice_of_Column(column);
test= game.Check_Move( game.Pick_Row(),
game.Pick_Column());
if (test==1)
{
check=game.Check_Board();
}
else
{
while (test==0)
{
cout<<"Current player"<<game.Pick_Player()<<"Invalid
Choice"<<endl;
12 | P a g e
cout<<"Enter Row Index (0, 1, or 2): "<<endl;
cin>>row;
cout<<"Enter Column Index (0, 1, or 2): "<<endl;
cin>>column;
game.Choice_of_Row(row);
game.Choice_of_Column(column);
test=game.Check_Move(game.Pick_Row(),
game.Pick_Column());
}
check= game.Check_Board();
}
if (check==1 ||check==1)
{
break;
}
else if (check==3)
{
game.Tic_Tac_Toe_Board();
cout<<"The game is tied. "<<endl;
}
if (player ==1)
{
player==2;
}
else
{
player=1;
}
game.Choice_by_Player(player);
}
game.Tic_Tac_Toe_Board();
cout<<"Player "<<check<<" wins! "<<endl;
return 0;
}
13 | P a g e
Output of TIC TAC TOE c++ program code :-
14 | P a g e
Figure 3:-Game Draw view…
15 | P a g e
Conclusion
It was a great experience to design
and implement the Tic Tac Toe by using Object Oriented
Programming language C++ and to work on its
documentation.While working on this project,we have learned
many things especially how to apply the concepts of OOP
paradigm in modelling of real world systems.
This assignment helped me to get
the better understanding to develop and derive new class
structures and organise them such that they will model real
world systems within computers.It also helped me in getting
in the better understanding of basic programming concepts of
C++ language such as loops,control structure,arrays.
In this project,we have used almost
every concepts of C++ language,we have learned .We have
also provided validations throughout the system for avoiding
logical errors,used excellent logic related comments with
proper indentation and the OOP’s concept in an excellent
manner.
After doing this project,We are in position to explain Object
Oriented Programming concepts and apply them to the
modelling of real world systems by utilizing its offered
facilities
16 | P a g e