Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int x, y, n = 0;
- char field[3][3];//{ { ' ', ' ', ' ' }, { ' ', ' ', ' ' }, { ' ', ' ', ' ' } }; Двумерный массив для хранения крестиков и ноликов
- bool flag = true;
- void displayField() {
- for (int j = 0; j < 3; j++)
- {
- for (int i = 0; i < 3; i++)
- {
- cout << field[j][i];
- }
- cout << endl;
- }
- }
- void changePlayer() {
- if (n == 0)
- n++;
- else
- n--;
- }
- int main(int argc, char *argv[]) {
- char player[2];
- player[0] = 'X';
- player[1] = '0';
- while (flag) {
- //n = stoi(argv[1]); //Кто будет первым?
- cout << "current player: " << player[n] << endl;
- cin >> y >> x;
- cout << "---" << endl;
- if (field[y][x] == player[0] || field[y][x] == player[1])
- cout << "Error" << endl; //Занято
- else {
- field[y][x] = player[n];
- displayField();
- //Горизонтальная и вертикальные проверки
- for (int i = 0; i < 3; i++)
- {
- if (field[i][0] == player[n] && field[i][1] == player[n] && field[i][2] == player[n]) {
- cout << player[n] << " win!";
- flag = false;
- }
- if (field[0][i] == player[n] && field[1][i] == player[n] && field[2][i] == player[n]) {
- cout << player[n] << " win!";
- flag = false;
- }
- }
- //Крестовые проверки
- if (field[0][0] == player[n] && field[1][1] == player[n] && field[2][2] == player[n]) {
- cout << player[n] << " win!";
- flag = false;
- }
- if (field[0][2] == player[n] && field[1][1] == player[n] && field[2][0] == player[n]) {
- cout << player[n] << " win!";
- flag = false;
- }
- changePlayer();
- }
- cout << endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment