Шахматы 9 на 9. Индекс находится вне границ массива

Индекс находится вне границ массива

(Figure)lines[8 - y][x]; Тут ошибка.

Я делаю особенные шахматы, они 9 на 9 и 1 новая фигура

namespace Chess
{
        class Board
    {
        public string fen { get; private set; }
        Figure[,] figures; 
        public Color moveColor { get; private set; }
        public int moveNumber { get; private set; }

        public Board (string fen)
        {
            this.fen = fen;
            figures = new Figure[9, 9];
            Init();
        }

        void Init ()
        {
            //"rnbqjkbnr/pppp3pp/9/9/9/9/PPPPPPPPP/RNBQJKBNR w KQkq - 0 1"
            // 0                                               1 2    3 4 5
            string[] parts = fen.Split();
            if (parts.Length != 6) return;
            InitFigures(parts[0]);
            moveColor = (parts[1] == "b") ? Color.black : Color.white;
            moveNumber = int.Parse(parts[5]);
        }

        void InitFigures (string data)
        {
            for (int j = 9; j >= 2; j--)
                data = data.Replace(j.ToString(), (j - 1).ToString() + "1");
            data = data.Replace("1", ".");
            string[] lines = data.Split('/');
            for (int y = 8; y >= 0; y--)
                for (int x = 0; x < 9; x++)
                    figures[x, y] = lines[8 - y][x] == '.' ? Figure.none : 
                        (Figure)lines[8 - y][x];

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