By:-Krishna Kumar Agrawalla
By:-Krishna Kumar Agrawalla
INDEX
1. Short introduction To C++
2. Introduction to Tic Tac Toe C++ Program
3. System Requirements
4. Coding
5. Output Result
6. Initialization Of Variables &explanatory statements
7. Game Loops
Short Introduction To C++
C++ is a general-purpose programming language.
It has imperative, object oriented and generic
programming features, while also providing
facilities for low-level memory manipulation.
It was designed with a bias toward system programming and embedded,
resource-constrained and large systems, with performance,
efficiency and flexibility of use as its design highlights. C++
has also been found useful in many other contexts, with key
strengths being software infrastructure and resource-
constrained applications , including desktop applications, servers (e.g. e-
commerce, web search or SQL servers), and performance-critical
applications (e.g. telephone switches or space probes).C++ is
a compiled language, with implementations of it available on many platforms.
Introduction to Tic Tac Toe
C++ Program
Tic-tac-toe (or Noughts and crosses, Xs and Os) is a pencil-
and-paper game for two players, X and O, who take turns
marking the spaces in a 3×3 grid. The player who succeeds
in placing three respective marks in a horizontal, vertical, or
diagonal row wins the game.
This program is a game program, Tic Tac
Toe. Most of us have played this game in
our leisure time, and we have make a C+
+ program on it.
Introduction to Tic Tac Toe
C++ Program
• RAM:512 MB
• Display board
• Get players move
• Check for game end
CODING
# include <iostream.h>
#include <conio.h>
char square[10] = {'o','1','2','3','4','5','6','7','8','9'};
int checkwin();
void board();
int main()
{
int player = 1,i,choice;
char mark;
clrscr();
do
{
board();
player=(player%2)?1:2;
cout << "Player " << player << ", enter a number: ";
cin >> choice;
mark=(player == 1) ? 'X' : 'O';
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
{
cout<<"Invalid move ";
player--;
getch();
}
i=checkwin();
player++;
}
while(i==-1);
board();
if(i==1)
cout<<"==>\aPlayer "<<--player<<" win ";
Else
cout<<"==>\aGame draw";
getch();
return 0;
} /*********************************************
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 board()
{
clrscr();
cout << "\n\n\tTic Tac Toe\n\n";
cout << "Player 1 (X) - Player 2 (O)" << endl << endl;
cout << endl;
cout << " | | " << endl;
cout << " " << square[1] << " | " << square[2] << " | " << square[3] << endl;
cout << "_____|_____|_____" << endl;
cout << " | | " << endl;
cout << " " << square[4] << " | " << square[5] << " | " << square[6] << endl;
cout << "_____|_____|_____" << endl;
cout << " | | " << endl;
cout << " " << square[7] << " | " << square[8] << " | " << square[9] << endl;
cout << " | | " << endl << endl;
}
/*******************************************************************
END OF PROJECT
OUTPUT
Initialization Of Variables &
explanatory statements
Program comments are explanatory statements that we can include in the C++ code
that we write and helps anyone reading its source code. All programming languages
allow for some form of comments.
C++ supports single line and multi-line comments. All characters available inside any
comment are ignored by C++ compiler.
C++ comments start with /* and end with */. For example:
// This is a comment
Each branch of the if statement makes two check, the first input
check that the input is valid digit from 1 to 9 and second check is for
make sure of the input is digit not an character, second check also
make sure that the number which is entered not entered
Previously
Game Loops
( player's moves )
Note there are the nine ways to end the game, 8 conditions
to win the game and 1 condition for draw the game.
The third if statement handles the 2 cases from the 9th square
In each of these cases we check that the squares not equals to its number
character.
This check ensures that we have an extra O and the other two checks make
sure that the other two squares have the same O in the series like this one
Those cases cover the win condition however game will be ended and draw like
this.
Game Loops
( player's moves )
After that we print the ending board of the game and tells
whose win and ask the user to play another game or quit
If the user want play again the looping is continue and the
board will be reset and the player turn also set back to 1
The final check takes cover of the case that game will be draw
and all the squares will be marked.
When we determine that the game is over we run through over
final condition
If the game is over we check for the game that someone is win
the game Boolean which we set at the last part, if some has
won then it will be last one or last player which is moved.
Thank You