lartman

tic_tac_toe

Jan 30th, 2021 (edited)
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int x, y, n = 0;
  5. char field[3][3];//{ { ' ', ' ', ' ' }, { ' ', ' ', ' ' }, { ' ', ' ', ' ' } }; Двумерный массив для хранения крестиков и ноликов
  6. bool flag = true;
  7.  
  8. void displayField() {
  9.     for (int j = 0; j < 3; j++)
  10.     {
  11.         for (int i = 0; i < 3; i++)
  12.         {
  13.             cout << field[j][i];
  14.         }
  15.         cout << endl;
  16.     }
  17. }
  18. void changePlayer() {
  19.     if (n == 0)
  20.         n++;
  21.     else
  22.         n--;
  23. }
  24.  
  25. int main(int argc, char *argv[]) {
  26.    
  27.     char player[2];
  28.     player[0] = 'X';
  29.     player[1] = '0';
  30.    
  31.     while (flag) {
  32.  
  33.         //n = stoi(argv[1]); //Кто будет первым?
  34.         cout << "current player: " << player[n] << endl;
  35.         cin >> y >> x;
  36.         cout << "---" << endl;
  37.         if (field[y][x] == player[0] || field[y][x] == player[1])
  38.             cout << "Error" << endl; //Занято
  39.         else {
  40.             field[y][x] = player[n];
  41.             displayField();
  42.             //Горизонтальная и вертикальные проверки
  43.             for (int i = 0; i < 3; i++)
  44.             {
  45.                 if (field[i][0] == player[n] && field[i][1] == player[n] && field[i][2] == player[n]) {
  46.                     cout << player[n] << " win!";
  47.                     flag = false;
  48.                 }
  49.                 if (field[0][i] == player[n] && field[1][i] == player[n] && field[2][i] == player[n]) {
  50.                     cout << player[n] << " win!";
  51.                     flag = false;
  52.                 }
  53.             }
  54.             //Крестовые проверки
  55.             if (field[0][0] == player[n] && field[1][1] == player[n] && field[2][2] == player[n]) {
  56.                 cout << player[n] << " win!";
  57.                 flag = false;
  58.             }
  59.             if (field[0][2] == player[n] && field[1][1] == player[n] && field[2][0] == player[n]) {
  60.                 cout << player[n] << " win!";
  61.                 flag = false;
  62.             }
  63.             changePlayer();
  64.         }  
  65.         cout << endl;
  66.     }
  67.     return 0;  
  68. }
Add Comment
Please, Sign In to add comment