Не меняет значение двухмерного массива

Я делаю игру морской бой, Столкнулся с такой проблемой, что не хочет меняться после хода в двухмерном массиве значение, толи ошибка толи что не пойму. Два метода отвечающих за вывод Поля

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. Массив где находятся корабли заполнены


Ответы (0 шт):