Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <Windows.h>
- using namespace std;
- int main()
- {
- srand(time(0));
- int const size = 3;
- int field[size][size];
- int whoPlayTmp = 1;
- int game = 9;
- int win = 1;
- for (int i = 0; i < size; i++)
- for (int j = 0; j < size; j++)
- field[i][j] = 0;
- //start game
- cout << "You play on \"o\"\n";
- do
- {
- //отображения игрового поля
- for (int i = 0; i < size; i++)
- {
- for (int j = 0; j < size; j++)
- {
- if (field[i][j] == 0)
- cout << "-";
- else if (field[i][j] == 1)
- cout << "x";
- else if (field[i][j] == 2)
- cout << "o";
- }
- cout << endl;
- }
- if (game % 2 == 0)
- {
- //ход Кампудахтора
- cout << "Bot round\n\n";
- do
- {
- int x = rand() % 3;
- int y = rand() % 3;
- if (field[y][x] != 0)
- {
- cout << "Field is using\n";
- continue;
- }
- else
- {
- field[y][x] = 1;
- break;
- }
- } while (true);
- }
- else
- {
- //Ход игрока
- int posX = 0, posY = 0;
- cout << "User round\n\n";
- do
- {
- cout << "Choise the position where you want to mark through a space\n Example: 1 1 \n";
- cin >> posX >> posY;
- if (posX >= 0 && posX < size && posY >= 0 && posY < size)
- {
- if (field[posY][posX] != 0)
- {
- cout << "Field is using\n";
- continue;
- }
- else
- {
- field[posY][posX] = 2;
- break;
- }
- }
- } while (true);
- }
- whoPlayTmp = game % 2 == 0 ? 1 : 2;
- //
- //Проверка горизонталей и вертикалей
- //
- for (int i = 0; i < size && win; i++)
- {
- int h = 0;
- int v = 0;
- for (int j = 0; j < size; j++)
- {
- if (field[i][j] == whoPlayTmp)
- h++;
- if (field[j][i] == whoPlayTmp)
- v++;
- }
- if (h == 3 || v == 3) win = 0;
- }
- //
- //Проверка диагоналей
- //
- int fd = 0;
- int sd = 0;
- for (int i = 0; i < size && win; i++)
- {
- for (int j = 0; j < size; j++)
- {
- if (i == j)
- if (field[i][j] == whoPlayTmp)
- fd++;
- if (i + j == size - 1)
- if (field[i][j] == whoPlayTmp)
- sd++;
- }
- if (fd == 3 || sd == 3) win = 0;
- }
- //Отображение поля
- game--;
- Sleep(2000);
- system("cls");
- } while (game && win);
- //Результат
- if (game == 0 && win != 0)
- cout << "Draw\n";
- else if (whoPlayTmp == 1)
- cout << "Bot win\n";
- else
- cout << "User win\n";
- }
Add Comment
Please, Sign In to add comment