ahmed0saber

Tic Tac Toe 2 players in C++

Nov 6th, 2020
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include<bits/stdc++.h>
  4. using namespace std;
  5. char Board[3][3] = {{'1','2','3'},{'4','5','6'},{'7','8','9'}};
  6. int choice;
  7. int row,column;
  8. char turn = 'X';
  9. bool draw = false;
  10.  
  11.  
  12.  
  13. void display_board(){
  14.     cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
  15.     cout<<"\t\t\t\t     |     |     \n";
  16.     cout<<"\t\t\t\t  "<<Board[0][0]<<"  | "<<Board[0][1]<<"   |  "<<Board[0][2]<<" \n";
  17.     cout<<"\t\t\t\t_____|_____|_____\n";
  18.     cout<<"\t\t\t\t     |     |     \n";
  19.     cout<<"\t\t\t\t  "<<Board[1][0]<<"  | "<<Board[1][1]<<"   |  "<<Board[1][2]<<" \n";
  20.     cout<<"\t\t\t\t_____|_____|_____\n";
  21.     cout<<"\t\t\t\t     |     |     \n";
  22.     cout<<"\t\t\t\t  "<<Board[2][0]<<"  | "<<Board[2][1]<<"   |  "<<Board[2][2]<<" \n";
  23.     cout<<"\t\t\t\t     |     |     \n";
  24. }
  25.  
  26.  
  27.  
  28. void player_turn()
  29. {
  30.     if(turn == 'X')
  31.     {
  32.         cout<<"\n\n    Player1 [X] turn : ";
  33.     }
  34.     else if(turn == 'O')
  35.     {
  36.         cout<<"\n\n    Player2 [O] turn : ";
  37.     }
  38.     cin>> choice;
  39.    
  40.     switch(choice)
  41.     {
  42.         case 1: row=0; column=0; break;
  43.         case 2: row=0; column=1; break;
  44.         case 3: row=0; column=2; break;
  45.         case 4: row=1; column=0; break;
  46.         case 5: row=1; column=1; break;
  47.         case 6: row=1; column=2; break;
  48.         case 7: row=2; column=0; break;
  49.         case 8: row=2; column=1; break;
  50.         case 9: row=2; column=2; break;
  51.         default:
  52.             cout<<"Invalid Move";
  53.     }
  54.  
  55.     if(turn == 'X' && Board[row][column] != 'X' && Board[row][column] != 'O')
  56.     {
  57.         Board[row][column] = 'X';
  58.         turn = 'O';
  59.     }
  60.     else if(turn == 'O' && Board[row][column] != 'X' && Board[row][column] != 'O')
  61.     {
  62.         Board[row][column] = 'O';
  63.         turn = 'X';
  64.     }
  65.     else
  66.     {
  67.         cout<<"\n Box already filled!\n Choose another one!\n\n";
  68.         player_turn();
  69.     }
  70.     display_board();
  71. }
  72.  
  73.  
  74.  
  75. bool gameover()
  76. {
  77.     for(int i=0; i<3; i++)
  78.     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])
  79.     return false;
  80.  
  81.     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])
  82.     return false;
  83.  
  84.     for(int i=0; i<3; i++)
  85.     for(int j=0; j<3; j++)
  86.     if(Board[i][j] != 'X' && Board[i][j] != 'O')
  87.     return true;
  88.  
  89.     draw = true;
  90.     return false;
  91. }
  92.  
  93.  
  94.  
  95. int main()
  96. {
  97.     display_board();
  98.     while(gameover())
  99.     {
  100.         player_turn();
  101.        
  102.     }
  103.     if(turn == 'O' && draw == false)
  104.     {
  105.         cout<<"\n\n Congratulations...\n Player with 'X' has won the game";
  106.     }
  107.     else if(turn == 'X' && draw == false)
  108.     {
  109.         cout<<"\n\n Congratulations...\n Player with 'O' has won the game";
  110.     }
  111.     else
  112.     cout<<"\n\n  GAME DRAW  \n\n";
  113. }
Advertisement
Add Comment
Please, Sign In to add comment