Решение задачи Крестики-нолики с Acmp

Без пояснения   Просмотров: 147


Крестики-нолики – логическая игра между двумя противниками на квадратном поле 3 на 3 клетки. Один из игроков играет «крестиками» (тот, кто ходит первым), другой – «ноликами». Игроки по очереди ставят на свободные клетки поля знаки (один всегда «крестики», другой всегда «нолики»). Первый, выстроивший в ряд три своих фигуры по вертикали, горизонтали или диагонали, выигрывает и на этом игра заканчивается. В том случае, когда все клетки заполнены и победитель не определен, игра завершается ничьей.

По состоянию игрового поля в конце игры требуется определить результат игры для первого игрока: выиграл, проиграл или сыграл вничью.


Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    string str,str1,str2;
    cin >> str >> str1 >> str2;
    if(str[0]== 'X' && str[1] == 'X' && str[2] == 'X'){
        cout << "Win";
        return 0;
    }
    if(str1[0]== 'X' && str1[1] == 'X' && str1[2] == 'X'){
        cout << "Win";
        return 0;
    }
    if(str2[0]== 'X'&& str2[1] == 'X' && str2[2] == 'X'){
        cout << "Win";
        return 0;
    }
    if(str[0]== 'X' && str1[1] == 'X' && str2[2] == 'X'){
        cout << "Win";
        return 0;
    }
    if(str[2]== 'X' && str1[1] == 'X'&& str2[0] == 'X'){
        cout << "Win";
        return 0;
    }
    if(str[0]== 'X' && str1[0] == 'X' && str2[0] == 'X'){
        cout << "Win";
        return 0;
    }
    if(str[1]== 'X' && str1[1] == 'X' && str2[1] == 'X'){
        cout << "Win";
        return 0;
    }
    if(str[2]== 'X' && str1[2] == 'X' && str2[2] == 'X'){
        cout << "Win";
        return 0;
    }
    int pos = str.find(".");
    int pos1 = str1.find(".");
    int pos2 = str2.find(".");
    if(pos + 1 || pos1 + 1 || pos2 + 1){
        cout << "Lose";
        return 0;
    }
    cout << "Draw";
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться