0% found this document useful (0 votes)
7 views3 pages

pf project

This document presents a final project for a Programming Fundamentals course at the University of Lahore, detailing a two-player Tic Tac Toe game coded in C++. It includes player input handling, game logic for turns, and conditions for winning or drawing. The project is submitted by four students and is intended to demonstrate their programming skills.

Uploaded by

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

pf project

This document presents a final project for a Programming Fundamentals course at the University of Lahore, detailing a two-player Tic Tac Toe game coded in C++. It includes player input handling, game logic for turns, and conditions for winning or drawing. The project is submitted by four students and is intended to demonstrate their programming skills.

Uploaded by

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

The University of Lahore, CS&IT Department

CS02115: Programming Fundamentals


FINAL PROJECT
Student name 1; TALHA NADEEM SAP ID; 70146903
Student name 2; AJAB GULL
Student name 3; AHMED SHEHRYAR
Student name 4; AUN ALI
Section: 2G Submitted to: mam Fareeha Ashfaq
Program: BSCS Date: 04/01/2025
Question:
“This code is for a two-player Tic Tac Toe game. Use symbols X and O to
play the game.”

Solution;

#include<iostream>
using namespace std;
char board[3][3] = {{'1','2','3'},{'4','5','6'},{'7','8','9'}};
char turn = 'X';
int row, column;
bool draw = false;
string player1, player2;

void display_board() {
cout << "\n";
cout << "\t" << player1 << " [X]" << endl;
cout << "\t" << player2 << " [O]" << endl;
cout << "\n";
cout << "\t\t\t | | " << endl;
cout << "\t\t\t " << board[0][0] << " | " << board[0][1] << " | "
<< board[0][2] << endl;
cout << "\t\t\t_____|_____|_____" << endl;
cout << "\t\t\t | | " << endl;
cout << "\t\t\t " << board[1][0] << " | " << board[1][1] << " | "
<< board[1][2] << endl;
cout << "\t\t\t_____|_____|_____" << endl;
cout << "\t\t\t | | " << endl;
cout << "\t\t\t " << board[2][0] << " | " << board[2][1] << " | "
<< board[2][2] << endl;
cout << "\t\t\t | | " << endl;
cout << "\n";
}

void player_turn() {
int choice;
string currentPlayer = (turn == 'X') ? player1 : player2;
cout << "\t" << currentPlayer << " [" << turn << "] 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" << endl;
return;
}

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


board[row][column] = turn;
cout << currentPlayer << " places an " << turn << " in position "
<< choice << "." << endl;
turn = (turn == 'X') ? 'O' : 'X';
} else {
cout << "Box already filled!" << endl;
cout << "Please try again!!" << endl;
player_turn();
}

display_board();
}

bool gameover() {
for(int i = 0; i < 3; i++)
if(board[i][0] == board[i][1] && board[i][0] == board[i][2] ||
board[0][i] == board[1][i] && board[0][i] == board[2][i])
return false;
if(board[0][0] == board[1][1] && board[0][0] == board[2][2] ||
board[0][2] == board[1][1] && board[0][2] == 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() {
cout << "\tWelcome to the Tic Tac Toe Game \n" << endl;
cout <<"\tEnter the name of Player 1 (X): ";
cin >> player1;
cout <<"\tEnter the name of Player 2 (O): ";
cin >> player2;

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

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


cout << "\t" << player2 << " [O] wins! Congratulations." << endl;
else if(turn == 'O' && draw == false)
cout << "\t" << player1 << "[X] wins! Congratulations." << endl;
else
cout << "\t Game over, it's a draw !!" << endl;

return 0;
}

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy