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); } } }
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); } }
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(); } }