View difference between Paste ID: Agg2Ctjh and nmmEFn7p
SHOW: | | - or go back to the newest paste.
1
#include <iostream>
2
#include <string>
3
 
4
using namespace std;
5
 
6
void alreadeGetted()
7
{
8
    cout << "Эта клетка уже занята, вы получили следующую клетку, либо пропустили ход" << endl;
9
}
10
 
11
int main()
12
{
13
    string places[3][3] = 
14
    {{"&"," & ","&"},
15
     {"&"," & ","&"},
16
     {"&"," & ","&"}};
17
     
18
    for(int i = 0; i <= 2; i++){
19
        for(int j = 0; j <= 2; j++)
20
            cout << places[i][j];
21
        cout << endl;}
22
    int x, o;
23
    short z = 1;
24
    while(z <= 9)
25
    {
26
        cout << "X, выберите вашу клетку: ";
27
        cin >> x;
28
        switch(x)
29
        {
30
            case 1:
31
            if (places[0][0] != "O"){
32
                places[0][0] = "X";
33
                break;
34
            } else alreadeGetted();
35
            case 2:
36
            if (places[0][1] != " O "){
37
                places[0][1] = " X ";
38
                break;
39
            } else alreadeGetted();
40
            case 3:
41
            if (places[0][2] != "O"){
42
                places[0][2] = "X";
43
                break;
44
            } else alreadeGetted();
45
            case 4:
46
            if (places[1][0] != "O"){
47
                places[1][0] = "X";
48
                break;
49
            } else alreadeGetted();
50
            case 5:
51
            if (places[1][1] != " O "){
52
                places[1][1] = " X ";
53
                break;
54
            } else alreadeGetted();
55
            case 6:
56
            if (places[1][2] != "O"){
57
                places[1][2] = "X";
58
                break;
59
            } else alreadeGetted();
60
            case 7:
61
            if (places[2][0] != "O"){
62
                places[2][0] = "X";
63
                break;
64
            } else alreadeGetted();
65
            case 8:
66
            if (places[2][1] != " O "){
67
                places[2][1] = " X ";
68
                break;
69
            } else alreadeGetted();
70
            case 9:
71
            if (places[2][2] != "O"){
72
                places[2][2] = "X";
73
                break;
74
            } else alreadeGetted();
75
            case 1337:
76
            places[0][0] = "X";
77
            places[1][0] = "X";
78
            places[2][0] = "X";
79
            break;
80
        }
81
        system("cls");
82
        z++;
83
        for(int i = 0; i <= 2; i++){
84
            for(int j = 0; j <= 2; j++)
85
                cout << places[i][j];
86
            cout << endl;}
87
           
88
        if((places[0][0] == "X" && places[0][1] == " X " && places[0][2] == "X") ||
89
           (places[1][0] == "X" && places[1][1] == " X " && places[1][2] == "X") ||
90
           (places[2][0] == "X" && places[2][1] == " X " && places[2][2] == "X") ||
91
           (places[0][0] == "X" && places[1][0] == "X" && places[2][0] == "X") ||
92
           (places[0][1] == " X " && places[1][1] == " X " && places[2][1] == " X ") ||
93
           (places[0][2] == "X" && places[1][2] == "X" && places[2][2] == "X") ||
94
           (places[0][0] == "X" && places[1][1] == " X " && places[2][2] == "X") ||
95
           (places[0][2] == "X" && places[1][1] == " X " && places[2][0] == "X"))
96
        {
97
            cout << "Победили X!" << endl;
98
            goto END;
99
        }
100
       
101
        cout << "O, выберите вашу клетку: ";
102
        cin >> o;
103
        switch(o)
104
        {
105
            case 1:
106
            if (places[0][0] != "X"){
107
                places[0][0] = "O";
108
                break;
109
            } else alreadeGetted();
110
            case 2:
111
            if (places[0][1] != " X "){
112
                places[0][1] = " O ";
113
                break;
114
            } else alreadeGetted();
115
            case 3:
116
            if (places[0][2] != "X"){
117
                places[0][2] = "O";
118
                break;
119
            } else alreadeGetted();
120
            case 4:
121
            if (places[1][0] != "X"){
122
                places[1][0] = "O";
123
                break;
124
            } else alreadeGetted();
125
            case 5:
126
            if (places[1][1] != " X "){
127
                places[1][1] = " O ";
128
                break;
129
            } else alreadeGetted();
130
            case 6:
131
            if (places[1][2] != "X"){
132
                places[1][2] = "O";
133
                break;
134
            } else alreadeGetted();
135
            case 7:
136
            if (places[2][0] != "X"){
137
                places[2][0] = "O";
138
                break;
139
            } else alreadeGetted();
140
            case 8:
141
            if (places[2][1] != " X "){
142
                places[2][1] = " O ";
143
                break;
144
            } else alreadeGetted();
145
            case 9:
146
            if (places[2][2] != "X"){
147
                places[2][2] = "O";
148
                break;
149
            } else alreadeGetted();
150
            case 1337:
151
            places[0][0] = "O";
152
            places[1][0] = "O";
153
            places[2][0] = "O";
154
            break;
155
        }
156
        system("cls");
157
        z++;
158
        for(int i = 0; i <= 2; i++){
159
            for(int j = 0; j <= 2; j++)
160
                cout << places[i][j];
161
            cout << endl;}
162
           
163
        if((places[0][0] == "O" && places[0][1] == " O " && places[0][2] == "O") ||
164
           (places[1][0] == "O" && places[1][1] == " O " && places[1][2] == "O") ||
165
           (places[2][0] == "O" && places[2][1] == " O " && places[2][2] == "O") ||
166
           (places[0][0] == "O" && places[1][0] == "O" && places[2][0] == "O") ||
167
           (places[0][1] == " O " && places[1][1] == " O " && places[2][1] == " O ") ||
168
           (places[0][2] == "O" && places[1][2] == "O" && places[2][2] == "O") ||
169
           (places[0][0] == "O" && places[1][1] == " O " && places[2][2] == "O") ||
170
           (places[0][2] == "O" && places[1][1] == " O " && places[2][0] == "O"))
171
        {
172
            cout << "Победили O!" << endl;
173
            goto END;
174
        }
175
    }
176
    cout << "Ничья." << endl;
177
    END:
178
    short ans;
179
    cout << "Выбери: \n" 
180
         << "[1] Новая игра\n" 
181
         << "[2] Выйти\n";
182
    cin >> ans;
183
    if (ans == 1)
184
    {
185
         system("cls");
186
         return main();
187
    }
188
    else if (ans == 2)
189
    {
190
          system("cls");
191
          cout << "Ты вышел из игры\n";
192
          return 0;
193
    }
194
}