Не меняет значение двухмерного массива
Я делаю игру морской бой, Столкнулся с такой проблемой, что не хочет меняться после хода в двухмерном массиве значение, толи ошибка толи что не пойму. Два метода отвечающих за вывод Поля
public void DisplayBoard(char[,] Board)
{
int Row;
int Column;
//Поле персонажа
Console.WriteLine("Ваше поле :\n");
Console.WriteLine(" ¦ A B C D E F G H I J");
Console.WriteLine("--+--------------------");
for (Row = 0; Row <= 9; Row++)
{
if (Row + 1 == 10)
{
Console.Write((Row + 1).ToString() + "¦ ");
}
else
{
Console.Write((Row + 1).ToString() + " ¦ ");
}
for (Column = 0; Column <= 9; Column++)
{
Console.Write(Board[Column, Row] + " ");
}
Console.WriteLine();
}
}
public void DisplayBoardAboutPc(char[,] BoardPc)
{
int Row;
int Column;
//Поле робота
Console.WriteLine("Поле робота : \n");
Console.WriteLine(" ¦ A B C D E F G H I J");
Console.WriteLine("--+--------------------");
for (Row = 0; Row <= 9; Row++)
{
if (Row + 1 == 10)
{
Console.Write((Row + 1).ToString() + "¦ ");
}
else
{
Console.Write((Row + 1).ToString() + " ¦ ");
}
for (Column = 0; Column <= 9; Column++)
{
Console.Write(BoardPc[Column, Row] + " ");
}
Console.WriteLine();
}
}`
Данный метод даёт рандомные ходы, или же ходы отнасительно предыдущих попаданий`
public int ResAboutCompucter = 0;
public bool Shot = false;
public bool ShotRight = false;
public bool ShotLeft = false;
public bool ShotUp = false;
public bool ShotDown = false;
public void RandomShot()
{
Random rnd = new Random();
int x = 0;
int y = 0;
if (Shot == true)
{
if (ShotRight != true)
{
ProvShots(x + 1, y);
ShotRight = false;
}
else if (ShotLeft != true)
{
ProvShots(x - 1, y);
ShotLeft = false;
}
else if (ShotUp != true)
{
ProvShots(x, y + 1);
ShotUp = false;
}
else if (ShotDown != true)
{
ProvShots(x, y - 1);
ShotDown = false;
Shot = false;
}
}
else
{
x = rnd.Next(1, 11);
y = rnd.Next(1, 11);
ProvShots(x, y);
}
}`
Данный метод определяет попал ли игрок :
MyPlayer myPlayer = new MyPlayer();
if(myPlayer.Grid[x - 1, y - 1].Equals('*'))
{
Shot = true;
ResAboutCompucter++;
myPlayer.Grid[x - 1, y - 1] = 'X';
Console.WriteLine("Попадание со стороны робота:(\n");
}
else
{
myPlayer.Grid[x - 1, y - 1] = 'O';
Console.WriteLine("Промах со стороны робота:)\r\n");
Console.WriteLine(myPlayer.Grid[x - 1, y - 1]);
}
}
Проблема в том что пишет что ты не попал но при этом не заменяет клетку на О P.S. Массив где находятся корабли заполнены