midoking

X-O Game

Aug 6th, 2017
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.87 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void Table(char x[][3]);
  5. int Player1_win(char x[][3]);
  6. int Player2_win(char x[][3]);
  7.  
  8. int main()
  9. {
  10.     char g[3][3];
  11.     int w, row,column;
  12.     char demo[3][3] = { '1','2','3','4','5','6','7','8','9' };
  13.     cout << "          X-O Game \n\n";
  14.     cout << "          By MiDo \n\n";
  15.     cout << "        Player #1 --> X \n\n";
  16.     cout << "        Player #2 --> O \n";
  17.     Table(demo);
  18.  
  19.     for (row = 0; row < 3; row++) {
  20.         for (column = 0; column < 3; column++) {
  21.             g[row][column] = ' ';
  22.         }
  23.     }
  24.     for(int i = 1; i <= 9; i++) {
  25.         if (i % 2 == 0) {
  26.             while (true) {
  27.                 cout << "Player #2:";
  28.                 cin >> w;
  29.                 if (w == 1 && g[0][0] == ' ')
  30.                     g[0][0] = 'O';
  31.                 else if (w == 2 && g[0][1] == ' ')
  32.                     g[0][1] = 'O';
  33.                 else if (w == 3 && g[0][2] == ' ')
  34.                     g[0][2] = 'O';
  35.                 else if (w == 4 && g[1][0] == ' ')
  36.                     g[1][0] = 'O';
  37.                 else if (w == 5 && g[1][1] == ' ')
  38.                     g[1][1] = 'O';
  39.                 else if (w == 6 && g[1][2] == ' ')
  40.                     g[1][2] = 'O';
  41.                 else if (w == 7 && g[2][0] == ' ')
  42.                     g[2][0] = 'O';
  43.                 else if (w == 8 && g[2][1] == ' ')
  44.                     g[2][1] = 'O';
  45.                 else if (w == 9 && g[2][2] == ' ')
  46.                     g[2][2] = 'O';
  47.                 else
  48.                     continue;
  49.                 Table(g);
  50.                 break;
  51.             }
  52.         }
  53.         else {
  54.             while (true) {
  55.                 cout << "Player #1:";
  56.                 cin >> w;
  57.                 if (w == 1 && g[0][0] == ' ')
  58.                     g[0][0] = 'X';
  59.                 else if (w == 2 && g[0][1] == ' ')
  60.                     g[0][1] = 'X';
  61.                 else if (w == 3 && g[0][2] == ' ')
  62.                     g[0][2] = 'X';
  63.                 else if (w == 4 && g[1][0] == ' ')
  64.                     g[1][0] = 'X';
  65.                 else if (w == 5 && g[1][1] == ' ')
  66.                     g[1][1] = 'X';
  67.                 else if (w == 6 && g[1][2] == ' ')
  68.                     g[1][2] = 'X';
  69.                 else if (w == 7 && g[2][0] == ' ')
  70.                     g[2][0] = 'X';
  71.                 else if (w == 8 && g[2][1] == ' ')
  72.                     g[2][1] = 'X';
  73.                 else if (w == 9 && g[2][2] == ' ')
  74.                     g[2][2] = 'X';
  75.                 else continue;
  76.                 Table(g);
  77.                 break;
  78.             }
  79.         }
  80.         if (Player1_win(g) == 1) {
  81.             cout << "Final Results:-\n";
  82.             cout << "Player #1 won!" << endl;
  83.             break;
  84.         }
  85.         else if (Player2_win(g) == 1) {
  86.             cout << "Final Results:-\n";
  87.             cout << "Player #2 won!" << endl;
  88.             break;
  89.         }
  90.     }
  91.     system("pause");
  92.     return 0;
  93. }
  94.  
  95. void Table(char x[][3])
  96. {
  97.     cout << " _____________________________" << endl;
  98.     cout << "|         |         |         |\n";
  99.     cout << "|    " << x[0][0] << "    |    " << x[0][1] << "    |    " << x[0][2] << "    |\n";
  100.     cout << "|         |         |         |\n";
  101.     cout << "|_________|_________|_________|" << endl;
  102.     cout << "|         |         |         |\n";
  103.     cout << "|    " << x[1][0] << "    |    " << x[1][1] << "    |    " << x[1][2] << "    |\n";
  104.     cout << "|         |         |         |\n";
  105.     cout << "|_________|_________|_________|" << endl;
  106.     cout << "|         |         |         |\n";
  107.     cout << "|    " << x[2][0] << "    |    " << x[2][1] << "    |    " << x[2][2] << "    |\n";
  108.     cout << "|         |         |         |\n";
  109.     cout << "|_________|_________|_________|" << endl;
  110. }
  111.  
  112. int Player1_win(char x[][3])
  113. {
  114.     for (int i = 0; i < 3; i++) { // rows
  115.         if (x[i][0] == 'X' && x[i][1] == 'X' && x[i][2] == 'X')
  116.             return 1;
  117.         break;
  118.     }
  119.  
  120.     for (int i = 0; i < 3; i++) { // columns
  121.         if (x[0][i] == 'X' && x[1][i] == 'X' && x[2][i] == 'X')
  122.             return 1;
  123.         break;
  124.     }
  125.     // diagonals
  126.     if (x[0][0] == 'X' && x[1][1] == 'X' && x[2][2] == 'X')
  127.         return 1;
  128.  
  129.     else if (x[0][2] == 'X' && x[1][1] == 'X' && x[2][0] == 'X')
  130.         return 1;
  131.     else return -1;
  132. }
  133.  
  134. int Player2_win(char x[][3])
  135. {
  136.     for (int i = 0; i < 3; i++) { // rows
  137.         if (x[i][0] == 'O' && x[i][1] == 'O' && x[i][2] == 'O')
  138.             return 1;
  139.     }
  140.  
  141.     for (int i = 0; i < 3; i++) { // columns
  142.         if (x[0][i] == 'O' && x[1][i] == 'O' && x[2][i] == 'O')
  143.             return 1;
  144.         break;
  145.     }
  146.     // diagonals
  147.     if (x[0][0] == 'O' && x[1][1] == 'O' && x[2][2] == 'O')
  148.         return 1;
  149.  
  150.     else if (x[0][2] == 'O' && x[1][1] == 'O' && x[2][0] == 'O')
  151.         return 1;
  152.     else return -1;
  153. }
Advertisement
Add Comment
Please, Sign In to add comment