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

STD Square Checkwin Board: Char Int Void Int Int Char

This C++ program implements a tic-tac-toe game. It uses a char array to represent the game board and tracks whose turn it is. Players take turns entering numbers to place their marks ('X' or 'O') on the board. After each turn, it checks if there is a win or draw by comparing the array values. It prints the board after each turn and declares the winner or draw at the end.

Uploaded by

Anonymous bSjPIs
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)
47 views

STD Square Checkwin Board: Char Int Void Int Int Char

This C++ program implements a tic-tac-toe game. It uses a char array to represent the game board and tracks whose turn it is. Players take turns entering numbers to place their marks ('X' or 'O') on the board. After each turn, it checks if there is a win or draw by comparing the array values. It prints the board after each turn and declares the winner or draw at the end.

Uploaded by

Anonymous bSjPIs
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/ 5

#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
**********************************************/

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";

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;


}

S Source code

You might also like