Пример #1
0
        private static void GenerateInitialBoard()
        {
            rowsCount  = int.Parse(Console.ReadLine().Trim());
            colmnCount = int.Parse(Console.ReadLine().Trim());
            board      = new BoardSquare[rowsCount][];

            for (int row = 0; row < rowsCount; row++)
            {
                board[row] = new BoardSquare[colmnCount];
                for (int colmn = 0; colmn < colmnCount; colmn++)
                {
                    board[row][colmn] = new BoardSquare(colmn, row);
                }
            }
        }
Пример #2
0
        private static void MarkSqare(int x, int y)
        {
            if (countVisitedSquares == rowsCount * colmnCount)
            {
                return;
            }
            BoardSquare visitedSquare = board[y][x];

            if (visitedSquare.visited == false)
            {
                visitedSquare.visited = true;
                countVisitedSquares++;
                visitedSquare.Value = turn;
                helper.Enqueue(visitedSquare);
            }
        }
Пример #3
0
        private static void AssignNewValuesToBoard()
        {
            int startRow   = int.Parse(Console.ReadLine().Trim());
            int startColmn = int.Parse(Console.ReadLine().Trim());

            MarkSqare(startColmn, startRow);

            while (helper.Count != 0)
            {
                currBoardSquare = helper.Dequeue();
                if (prevValue != currBoardSquare.Value)
                {
                    prevValue++;
                    turn++;
                }
                LoadPossiblePositionsInQueue();
            }
        }