Questions:
Tic Tac Toe Game Project in C++
Explanation:
This C++ program on TIC TAC TOE GAME is a simple text base game. This program is without graphics to focus on logic /algorithm used in game. Two players can play this game.
Working code is attached and tested in visual studio 2015
Code:
Output:
Related Articles:
Control Structure Examples
Control Structure Examples 2
Tic Tac Toe Game Project in C++
Explanation:
This C++ program on TIC TAC TOE GAME is a simple text base game. This program is without graphics to focus on logic /algorithm used in game. Two players can play this game.
Working code is attached and tested in visual studio 2015
Code:
#include <iostream>
using namespace std;
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;
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--;
cin.ignore();
cin.get();
}
i
= checkwin();
player++;
}
while (i == -1);
board();
if (i == 1)
cout
<< "==>\aPlayer " << --player << " win ";
else
cout
<< "==>\aGame
draw";
cin.ignore();
cin.get();
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
by cppexamples.blogspot.com
**********************************************/
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 by cppexamples.blogspot.com
********************************************************************/
void board()
{
system("cls");
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 by
cppexamples.blogspot.com
********************************************************************/
Output:
Related Articles:
Control Structure Examples
Control Structure Examples 2
0 Questions:
Post a Comment