public IMazeView Generate(int row, int col) { MazeData maze = new MazeData(row, col); for (int r = 0; r < row; r++) { for (int c = 0; c < col; c++) { if (RandomBool()) { maze.AddSides(r, c, MazeSide.Right); } if (RandomBool()) { maze.AddSides(r, c, MazeSide.Bottom); } } } return(maze); }
private void CreateRightBorders(int row) { for (int c = 0; c < colCount - 1; c++) { if (mazeLineData[c] == mazeLineData[c + 1]) { maze.AddSides(row, c, MazeSide.Right); } else { if (RandomBool()) { maze.AddSides(row, c, MazeSide.Right); } else { mazeLineData[c + 1] = mazeLineData[c]; } } } }