Тема: Хрестики нолики
Допоможіть, переробити цей код, як зробити не повторения ходів, щоб б наприклад позиція 1:1 я не міг 2 раза вводить.
#include "pch.h"
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
void print_field(char field[3][3]);
int main()
{
int p1, p2;
char xo;
int k;
char xi = 'X', oi = '0';
char field[3][3];
for (size_t i = 0; i < 9; i++)
field[i / 3][i % 3] = ' ';
for (int i = 0; i < 9; i++)
{
cout << " i Position: ";
cin >> p1; cout << '\n';
cout << " j Position: ";
cin >> p2; cout << '\n';
cout << endl;
while (p1 > 3 || p2 > 3)
{
cout << "Error position" << endl;
cout << " i Position: ";
cin >> p1; cout << '\n';
cout << " j Position: ";
cin >> p2; cout << '\n';
}
cout << " 1 - Enter X and 2 - Entrer O: ";
cin >> k;
cout << '\n';
switch (k)
{
case 1:
xo = 'X';
break;
case 2:
xo = 'O';
break;
}
field[p1][p2] = xo;
print_field(field);
}
print_field(field);
system("cls");
print_field(field);
return 0;
}
void print_field(char field[3][3])
{
char a[14] = { 218,196,196,196,194,196,196,196,194,196,196,196,191,'\0' };
//char a1[14] = { 179, 32, 179, 32, 179, 32, 179 };
char a2[14] = { 195,196,196,196,197,196,196,196,197,196,196,196,180,'\0' };
char a3[14] = { 192,196,196,196,193,196,196,196,193,196,196,196,217,'\0' };
cout << a << '\n';
for (size_t i = 0; i < 3; i++)
cout << (char)179 << ' ' << field[0][i] << ' ';
cout << (char)179 << '\n';
cout << a2 << '\n';
for (size_t i = 0; i < 3; i++)
cout << (char)179 << ' ' << field[1][i] << ' ';
cout << (char)179 << '\n';
cout << a2 << '\n';
for (size_t i = 0; i < 3; i++)
cout << (char)179 << ' ' << field[2][i] << ' ';
cout << (char)179 << '\n';
cout << a3 << '\n';
}