TIC TAC TOE Project in C++ (Complete)

 TIC TAC TOE

#include<iostream>

using namespace std;

            char broad[3][3]={{'1','2','3'},{'4','5','6'},{'7','8','9'}};

            char turn='x';

            int row,column;

            bool draw=false;       

void display_broad()

{

            system("cls");

            cout<<"\t\t\t\t\t**********************************"<<'\n';

            cout<<"\n\n\t\t\t\t\t t i c k  c r o s s  G a m e"<<'\n';

            cout<<"\t\t\t\t\t**********************************"<<'\n';

            cout<<"\t\t\t\t\t**\t player 1[x]\t\t**"<<'\n';

            cout<<"\t\t\t\t\t**\t player 2[o]\t\t**"<<'\n';

            cout<<"\t\t\t\t\t**\t     |     |     \t**"<<endl;

            cout<<"\t\t\t\t\t**\t "<<broad[0][0]<<"   |  "<<broad[0][1]<<"  | "<<broad[0][2]<<"    \t**"<<endl;

            cout<<"\t\t\t\t\t**\t_____|_____|_____\t**"<<endl;

            cout<<"\t\t\t\t\t**\t     |     |     \t**"<<endl;

            cout<<"\t\t\t\t\t**\t "<<broad[1][0]<<"   |  "<<broad[1][1]<<"  | "<<broad[1][2]<<"    \t**"<<endl;

            cout<<"\t\t\t\t\t**\t_____|_____|_____\t**"<<endl;

            cout<<"\t\t\t\t\t**\t     |     |     \t**"<<endl;

            cout<<"\t\t\t\t\t**\t "<<broad[2][0]<<"   |  "<<broad[2][1]<<"  | "<<broad[2][2]<<"    \t**"<<endl;

            cout<<"\t\t\t\t\t**\t     |     |             \t**"<<endl;

    cout<<"\t\t\t\t\t**********************************"<<'\n';

}

 

 

void player_turn(){

                        int choice;

                        if(turn=='x')

                       

                        cout<<"\n\t\t\t\t\t\t player 1 [x] turn:";

           

                        if(turn=='o')

 

                        cout<<"\n\t\t\t\t\t\t player 2[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<<"\t\t\t\t\tinvalid choice";

                        break;

                       

}

            if(turn=='x' && broad[row][column]!='x' && broad[row][column]!='o')

            {

                        broad[row][column]='x';

                        turn='o';

            }

                        else if(turn=='o' && broad[row][column]!='x' && broad[row][column]!='o')

            {

                        broad[row][column]='o';

                        turn='x';

            }

                        else

                        {

                        cout<<"\t\t\t\t\tBOX Already filled";

                       

                        player_turn();

                        }

                        display_broad();

            }

bool gameover(){

 //check win 

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

            if (broad[i][0]==broad[i][1]&&broad[i][0]==broad[i][2] || broad[0][i]==broad[1][i]&&broad[0][i]==broad[2][i])

            return false;

           

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

            if (broad[j][0]==broad[j][1]&&broad[j][0]==broad[j][2] || broad[0][j]==broad[1][j]&&broad[0][j]==broad[2][j])

            return false;

           

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

            return false;

            // not filled

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

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

            if (broad[i][j]!='x' && broad[i][j]!='o')

            return true;

            //draw

            draw = true;

            return false;

}

 

main()

{

           

while(gameover()){

 

           

            display_broad();

            player_turn();

            gameover();

}

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

cout<<"\t\t\t\t\tplayer2 [o] win!! congratulation"<<endl;

else if(turn=='o' && draw==false )

cout<<"\t\t\t\t\tplayer1 [x] win!! congratulation"<<endl;

            else

            cout<<"GAME DRAW ! ! {~_~}"<<endl;

            return 0;

}

OUTPUT



Post a Comment

0 Comments