0% found this document useful (0 votes)
27 views

Char Int Void Int Int Char: Using Namespace

This C++ program implements a Tic-Tac-Toe game. It uses arrays to represent the game board and tracks which player's turn it is. It continuously prompts for player moves, updates the board array, checks for a win condition after each move, and displays the board until the game ends in a win or draw. Functions are used to check for a win condition, display the board, and manage the main game loop.

Uploaded by

nadayn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Char Int Void Int Int Char: Using Namespace

This C++ program implements a Tic-Tac-Toe game. It uses arrays to represent the game board and tracks which player's turn it is. It continuously prompts for player moves, updates the board array, checks for a win condition after each move, and displays the board until the game ends in a win or draw. Functions are used to check for a win condition, display the board, and manage the main game loop.

Uploaded by

nadayn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

#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;
number:

";

cout << "Player " << player << ", enter a


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
**********************************************/
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()
{
system("cls");
cout << "\n\n\tTic Tac Toe\n\n";
endl;

cout << "Player 1 (X)

Player 2 (O)" << endl <<

cout << endl;

cout << "


|
|
" << endl;
cout << " " << square[1] << " | " << square[2] << "
" << square[3] << endl;
cout << "_____|_____|_____" << endl;
cout << "
|
|
" << endl;

cout << " " << square[4] << "


" << square[6] << endl;

" << square[5] << "

cout << "_____|_____|_____" << endl;


cout << "
|
|
" << endl;
|
}

cout << " " << square[7] << "


" << square[9] << endl;
cout << "

" << square[8] << "

" << endl << endl;

/
***********************************************************
********
END OF PROJECT
***********************************************************
*********/

You might also like