#Include Iostream

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

#include <iostream>

using namespace std;

int choice;
char turn = 'X';
int row, column;
bool draw = false;
char board[3][3] = { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'} };

void display_board() {
cout << "\t\tT I C K A N D C R O S S G A M E\n";
cout << "\t\tPlayer1 [X]\n\t\tPlayer2 [O]\n";
cout << "\t\t | | \n";
cout << "\t\t " << board[0][0] << " | " << board[0][1] << " | " <<
board[0][2] << " \n";
cout << "\t\t_____|_____|_____\n";
cout << "\t\t | | \n";
cout << "\t\t " << board[1][0] << " | " << board[1][1] << " | " <<
board[1][2] << " \n";
cout << "\t\t_____|_____|_____\n";
cout << "\t\t | | \n";
cout << "\t\t " << board[2][0] << " | " << board[2][1] << " | " <<
board[2][2] << " \n";
cout << "\t\t | | \n";
}

void player_turn() {
if (turn == 'X')
cout << "\n\n\tPlayer1 [X] turn: ";
else
cout << "\n\n\tPlayer2 [O] turn: ";

cin >> choice;


switch (choice) {
case 1: row = 0; column = 0; break;
case 2: row = 0; column = 1; break;
case 3: row = 0; column = 2; break;
case 4: row = 1; column = 0; break;
case 5: row = 1; column = 1; break;
case 6: row = 1; column = 2; break;
case 7: row = 2; column = 0; break;
case 8: row = 2; column = 1; break;
case 9: row = 2; column = 2; break;
default:
cout << "Invalid choice\n";
return;
}

if (board[row][column] != 'X' && board[row][column] != 'O') {


board[row][column] = turn;
if (turn == 'X')
turn = 'O';
else
turn = 'X';
} else {
cout << "Box already filled! Please try again.\n";
player_turn();
}
display_board();
}

bool gameover() {
for (int i = 0; i < 3; i++) {
if (board[i][0] == board[i][1] && board[i][1] == board[i][2])
return false;
if (board[0][i] == board[1][i] && board[1][i] == board[2][i])
return false;
}

if ((board[0][0] == board[1][1] && board[1][1] == board[2][2]) ||


(board[0][2] == board[1][1] && board[1][1] == board[2][0]))
return false;

for (int i = 0; i < 3; i++)


for (int j = 0; j < 3; j++)
if (board[i][j] != 'X' && board[i][j] != 'O')
return true;

draw = true;
return false;
}

int main() {
while (gameover()) {
display_board();
player_turn();
}

if (turn == 'O' && draw == false)


cout << "Player1 [X] Wins!! Congratulations\n";
else if (turn == 'X' && draw == false)
cout << "Player2 [O] Wins!! Congratulations\n";
else
cout << "GAME OVER!! It's a draw!\n";

return 0;
}

You might also like