18 Tic Tac Toe Game Rite A Program That Allows

Question

18. Tic-Tac-Toe Game rite a program that allows two players to play a game of tic-tac-toe. Use di…

18. Tic-Tac-Toe Game rite a program that allows two players to play a game of tic-tac-toe. Use dimensional char array with three rows and three columns as the game board. Each element of the array should be initialized with an asterisk (*). The program should run a loop that does the following: Write . Displays the contents of the board array. . Allows player 1 to select a location on the board for an X. The program should ask the user to enter the row and column numbers. . Allows player 2 to select a location on the board for an O. The program should ask the user to enter the row and column numbers. . Determines whether a player has won, or a tie has occurred. If a player has won, the program should declare that player the winner and end. If a tie has occurred program should display an appropriate message and end. Player 1 wins when there are three Xs in a row on the game board. The Xs can appear row, in a column, or diagonally across the board. Player 2 wins when there are three Os in a row on the game board. The Os can appear in a row, in a column, or diagonally across the board. A tie occurs when all of the locations on the board are full, but there is no wimiee in a

Solutions

Expert Solution

/*in c++*/

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
   char Board[10] =
{'o','1','2','3','4','5','6','7','8','9'};
   int playerTurn= 1;
   int choice;
   int win = -1;
   do
   {
  
  
   cout<<"\t Welcome to Tic Toc Toe
Game"<<endl<<endl;
   cout<<"player 1 (X) || player 2
(0)"<<endl;
  
       cout << endl;
   cout << "    
|     |     " <<
endl;
   cout << " " << Board[1] << " | "
<< Board[2] << " | " << Board[3] <<
endl;
   cout << "_____|_____|_____" << endl;
   cout << "    
|     |     " <<
endl;
   cout << " " << Board[4] << " | "
<< Board[5] << " | " << Board[6] <<
endl;
   cout << "_____|_____|_____" << endl;
   cout << "    
|     |     " <<
endl;
   cout << " " << Board[7] << " | "
<< Board[8] << " | " << Board[9] <<
endl;
   cout << "    
|     |     " << endl
<< endl;
  
   cout<<"(player "<<playerTurn<<"
Turn) Enter a number: ";
   cin>>choice;
  
   if(playerTurn== 1)
   {
       switch(choice)
       {
           case 1:
          
if(Board[1]=='X'||Board[1]=='O')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[1] = 'X';
             
playerTurn= 2;  
           }
           break;
          
           case 2:
          
if(Board[2]=='X'||Board[2]=='O')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[2] = 'X';
             
playerTurn= 2;  
           }
           break;
          
           case 3:
          
if(Board[3]=='X'||Board[3]=='O')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[3] = 'X';
             
playerTurn= 2;  
           }
           break;
           case 4:
          
if(Board[4]=='X'||Board[4]=='O')
           {
          
    cout<<" Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[4] = 'X';
             
playerTurn= 2;  
           }
           break;
           case 5:
          
if(Board[5]=='X'||Board[5]=='O')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[5] = 'X';  
             
playerTurn= 2;
           }
           break;
           case 6:
          
if(Board[6]=='X'||Board[6]=='O')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[6] = 'X';
             
playerTurn= 2;  
           }
           break;
           case 7:
          
if(Board[7]=='X'||Board[7]=='O')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[7] = 'X';
             
playerTurn= 2;  
           }
           break;
           case 8:
          
if(Board[8]=='X'||Board[8]=='O')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[8] = 'X';  
             
playerTurn= 2;
           }
           break;
           case 9:
          
if(Board[9]=='X'||Board[9]=='O')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[9] = 'X';
             
playerTurn= 2;  
           }
           break;
          
          
default:cout<<"Error Invalid Move"<<endl;
          
system("pause");
           break;
       }
   }
   else
   {
       switch(choice)
       {
           case 1:
          
if(Board[1]=='O'||Board[1]=='X')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[1] = 'O';
             
playerTurn= 1;  
           }
           break;
          
           case 2:
          
if(Board[2]=='O'||Board[2]=='X')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[2] = 'O';  
             
playerTurn= 1;  
           }
           break;
          
           case 3:
          
if(Board[3]=='O'||Board[3]=='X')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[3] = 'O';  
             
playerTurn= 1;  
           }
           break;
           case 4:
          
if(Board[4]=='O'||Board[4]=='X')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[4] = 'O';  
             
playerTurn= 1;  
           }
           break;
           case 5:
          
if(Board[5]=='O'||Board[5]=='X')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[5] = 'O';
             
playerTurn= 1;      
           }
           break;
           case 6:
          
if(Board[6]=='O'||Board[6]=='X')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[6] = 'O';
             
playerTurn= 1;      
           }
           break;
           case 7:
          
if(Board[7]=='O'||Board[7]=='X')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[7] = 'O';  
             
playerTurn= 1;  
           }
           break;
           case 8:
          
if(Board[8]=='O'||Board[8]=='X')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[8] = 'O';  
             
playerTurn= 1;  
           }
           break;
           case 9:
          
if(Board[9]=='O'||Board[9]=='X')
           {
          
    cout<<"Error Invalid
Move"<<endl;
          
    system("pause");
           }
           else
           {
             
Board[9] = 'O';  
             
playerTurn= 1;  
           }
           break;
          
          
default:cout<<"Error Invalid Move"<<endl;
          
system("pause");
           break;
       }
   }
  
  
  
  
  
   if (Board[1] == Board[2] && Board[2] ==
Board[3])
       win = 1;
   else if (Board[4] == Board[5] && Board[5] ==
Board[6])
       win = 1;
   else if (Board[7] == Board[8] && Board[8] ==
Board[9])
       win = 1;
   else if (Board[1] == Board[4] && Board[4] ==
Board[7])
       win = 1;
   else if (Board[2] == Board[5] && Board[5] ==
Board[8])
       win = 1;
   else if (Board[3] == Board[6] && Board[6] ==
Board[9])
       win = 1;
   else if (Board[1] == Board[5] && Board[5] ==
Board[9])
       win = 1;
   else if (Board[3] == Board[5] && Board[5] ==
Board[7])
       win = 1;
   else if (Board[1] != '1' && Board[2] != '2'
&& Board[3] != '3' && Board[4] != '4'
&&

    Board[5] != '5' && Board[6] != '6'
&& Board[7] != '7' && Board[8] != '8' &&
Board[9] != '9')
       win = 0;
   else
       win = -1;
  
  
   system("cls");
   }
   while(win == -1);
  
       cout<<"\t Welcome to Tic Toc
Toe Game"<<endl<<endl;
   cout<<"player 1 Mark (X) || player 2 Mark
(0)"<<endl;
  
           cout <<
endl;
   cout << "    
|     |     " <<
endl;
   cout << " " << Board[1] << " | "
<< Board[2] << " | " << Board[3] <<
endl;
   cout << "_____|_____|_____" << endl;
   cout << "    
|     |     " <<
endl;
   cout << " " << Board[4] << " | "
<< Board[5] << " | " << Board[6] <<
endl;
   cout << "_____|_____|_____" << endl;
   cout << "    
|     |     " <<
endl;
   cout << " " << Board[7] << " | "
<< Board[8] << " | " << Board[9] <<
endl;
   cout << "    
|     |     " << endl
<< endl;
  
   if(win==1)
   {
       if(playerTurn== 1)
       {
           playerTurn=
2;
       }
       else if(playerTurn== 2)
       {
           playerTurn=
1;
       }
       cout<<"\a
player"<<playerTurn<<" win
"<<endl;  
   }
   else
       cout<<"\aGame
Tie"<<endl;
  
   return 0;
}

/*

output

   Welcome to Tic Toc Toe Game

player 1 (X) || player 2 (0)

     |    
|   
1 | 2 | 3
_____|_____|_____
     |    
|   
4 | 5 | 6
_____|_____|_____
     |    
|   
7 | 8 | 9
     |    
|   

(player 1 Turn) Enter a number: 1
sh: 1: cls: not found
   Welcome to Tic Toc Toe Game

player 1 (X) || player 2 (0)

     |    
|   
X | 2 | 3
_____|_____|_____
     |    
|   
4 | 5 | 6
_____|_____|_____
     |    
|   
7 | 8 | 9
     |    
|   

(player 2 Turn) Enter a number: 2
sh: 1: cls: not found
   Welcome to Tic Toc Toe Game

player 1 (X) || player 2 (0)

     |    
|   
X | O | 3
_____|_____|_____
     |    
|   
4 | 5 | 6
_____|_____|_____
     |    
|   
7 | 8 | 9
     |    
|   

(player 1 Turn) Enter a number: 5
sh: 1: cls: not found
   Welcome to Tic Toc Toe Game

player 1 (X) || player 2 (0)

     |    
|   
X | O | 3
_____|_____|_____
     |    
|   
4 | X | 6
_____|_____|_____
     |    
|   
7 | 8 | 9
     |    
|   

(player 2 Turn) Enter a number: 3
sh: 1: cls: not found
   Welcome to Tic Toc Toe Game

player 1 (X) || player 2 (0)

     |    
|   
X | O | O
_____|_____|_____
     |    
|   
4 | X | 6
_____|_____|_____
     |    
|   
7 | 8 | 9
     |    
|   

(player 1 Turn) Enter a number: 9
sh: 1: cls: not found
   Welcome to Tic Toc Toe Game

player 1 Mark (X) || player 2 Mark (0)

     |    
|   
X | O | O
_____|_____|_____
     |    
|   
4 | X | 6
_____|_____|_____
     |    
|   
7 | 8 | X
     |    
|   

player1 win

*/


Submit Your Answer

[contact-form-7 id=”5″ html_class=”cf7_custom_style_1″ title=”Answer Question”]