public MazeGenerator(MazeGenParams mazeGenParams) { _mazeGenParams = mazeGenParams; _openedCells = new List <IntVector>(); _maze = new byte[mazeGenParams.XSize * 2 + 1, mazeGenParams.YSize * 2 + 1]; // Make unbreakable walls for (var i = 0; i < MazeHeight; i++) { for (var j = 0; j < MazeWidth; j++) { if (j == 0 || i == 0 || j == MazeWidth - 1 || i == MazeHeight - 1) { _maze[j, i] = UnbreakableWall; } } } _rootedMazeSize = (int)Math.Sqrt(mazeGenParams.XSize * mazeGenParams.YSize); }
private static void Main() { var mazeGenParams = new MazeGenParams(20, 20, GeneratorType.Random, 30); var mazeGen = new MazeGenerator(mazeGenParams); var maze = mazeGen.GenerateMaze(); }