Created
November 7, 2019 12:45
-
-
Save ultimatedark/ec0be6248d9996f182f35ec117fb39d1 to your computer and use it in GitHub Desktop.
tic-tac-toe project code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<iostream> | |
#include<stdlib.h> | |
#include <cstdlib> | |
int choice; | |
int row,columns; | |
char board_ele[3][3]={'1','2','3','4','5','6','7','8','9'}; | |
void display_board(){ | |
system("clear"); | |
std::cout<<"\n\tthe board:\n"; | |
std::cout<<" | | \n"; | |
std::cout<<" "<<board_ele[0][0]<<" | "<<board_ele[0][1]<<" | "<<board_ele[0][2]<<" \n"; | |
std::cout<<" | | \n"; | |
std::cout<<"-----|-----|-----\n"; | |
std::cout<<" | | \n"; | |
std::cout<<" "<<board_ele[1][0]<<" | "<<board_ele[1][1]<<" | "<<board_ele[1][2]<<" \n"; | |
std::cout<<" | | \n"; | |
std::cout<<"-----|-----|-----\n"; | |
std::cout<<" | | \n"; | |
std::cout<<" "<<board_ele[2][0]<<" | "<<board_ele[2][1]<<" | "<<board_ele[2][2]<<" \n"; | |
std::cout<<" | | \n"; | |
std::cout<<" | | \n"; | |
} | |
void player_row(int choice,char flag) | |
{ | |
switch (choice) | |
{ | |
case 1: row=0,columns=0; | |
board_ele[row][columns]=flag; | |
break; | |
case 2: row=0,columns=1; | |
board_ele[row][columns]=flag; | |
break; | |
case 3: row=0,columns=2; | |
board_ele[row][columns]=flag; | |
break; | |
case 4: row=1,columns=0; | |
board_ele[row][columns]=flag; | |
break; | |
case 5: row=1,columns=1; | |
board_ele[row][columns]=flag; | |
break; | |
case 6: row=1,columns=2; | |
board_ele[row][columns]=flag; | |
break; | |
case 7: row=2,columns=0; | |
board_ele[row][columns]=flag; | |
break; | |
case 8: row=2,columns=1; | |
board_ele[row][columns]=flag; | |
break; | |
case 9: row=2,columns=2; | |
board_ele[row][columns]=flag; | |
break; | |
default: | |
break; | |
} | |
} | |
void player_turn() | |
{ | |
char flag='O'; | |
if(flag=='O') | |
{ | |
std::cout<<"plaer 1 turn:"; | |
std::cin>>choice; | |
player_row(choice,flag); | |
display_board(); | |
} | |
flag='X'; | |
if(flag=='X') | |
{ | |
std::cout<<"plaer 2 turn:"; | |
std::cin>>choice; | |
player_row(choice,flag); | |
display_board(); | |
} | |
flag='O'; | |
} | |
bool game_rule() | |
{ | |
if ((board_ele[0][0]=='X'&&board_ele[1][1]=='X'&&board_ele[2][2]=='X')||(board_ele[0][0]=='X'&&board_ele[0][1]=='X'&&board_ele[0][2]=='X')||(board_ele[1][0]=='X'&&board_ele[1][1]=='X'&&board_ele[1][2]=='X')||(board_ele[2][0]=='X'&&board_ele[2][1]=='X'&&board_ele[2][2]=='X')||(board_ele[0][0]=='X'&&board_ele[1][0]=='X'&&board_ele[2][0]=='X')||(board_ele[0][1]=='X'&&board_ele[1][1]=='X'&&board_ele[2][1]=='X')||(board_ele[0][2]=='X'&&board_ele[1][2]=='X'&&board_ele[2][2]=='X')) | |
{ | |
return true; | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
void game_over() | |
{ | |
if (game_rule(board_ele)==true) | |
{ | |
std::cout<<"player 1 is won"; | |
} | |
if (game_rule(board_ele)==true) | |
{ | |
std::cout<<"player 1 is won"; | |
} | |
} | |
int main(){ | |
int breake; | |
char player1,player2; | |
std::cout<<"\t\ttic tac toe\n"<<std::endl; | |
std::cout<<"\n\t\tplayer 1:[X}\n"<<std::endl; | |
std::cout<<"\n\t\tplayer 2:[O]\n"<<std::endl; | |
display_board(); | |
for (int i = 0; i < 9; i++) | |
{ | |
if(game_rule()) | |
{ | |
game_over(); | |
break; | |
} | |
player_turn(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment