int[] GetPlayerTurn(int[,] field, int playerNumber)
int[] result = new int[2] { -1, -1 };
Console.WriteLine($"Введите координаты хода в формате 'x,y', вы ходите {xo}");
string input = Console.ReadLine();
string[] pieces = input.Split(',');
Console.WriteLine("Нужно ввести значение в формате 'x,y'");
return GetPlayerTurn(field, playerNumber);
result[0] = Convert.ToInt32(pieces[0]) - 1;
result[1] = Convert.ToInt32(pieces[1]) - 1;
if (result[0] < 0 || result[1] < 0 || result[0] > 2 || result[1] > 2)
Console.WriteLine("Нужны значения от 1 до 3");
return GetPlayerTurn(field, playerNumber);
if (field[result[0], result[1]] != 0)
Console.WriteLine("Клетка уже занята, сходите в другую");
return GetPlayerTurn(field, playerNumber);
for (int i = 0; i <= field.GetUpperBound(0); i++)
for (int j = 0; j <= field.GetUpperBound(1); j++)
else if (field[i, j] == 1)
else if (field[i, j] == 2)
Console.Write($"{output}\t");
bool CheckForEndGame(int[,] field)
for (int i = 0; i <= field.GetUpperBound(0); i++)
for (int j = 0; j <= field.GetUpperBound(1); j++)
int[,] gameField = new int[3, 3]
for (int i = 0; i < 9; i++)
playerTurn = GetPlayerTurn(gameField, 1);
gameField[playerTurn[0], playerTurn[1]] = 1;
playerTurn = GetPlayerTurn(gameField, 2);
gameField[playerTurn[0], playerTurn[1]] = 2;
if (CheckForEndGame(gameField))
Console.WriteLine("Игра завершена, всего доброго");