private static async Task CreateImageAndGifForAlgoAsync(IMazeGenAlgorithm i) { var drawMaze = new TileMapMaze(55, 55); drawMaze.OverrideAllMazeFields(MazeFieldType.Wall); await CreateMazeImageAndGif(i).ConfigureAwait(false); }
private static async Task CreateMazeImageAndGif(IMazeGenAlgorithm i) { MazeBuilder mazeBuilder = new MazeBuilder(); TileMapMaze drawMaze = new TileMapMaze(60, 60); drawMaze.OverrideAllMazeFields(); var maze = mazeBuilder .SetMazeAlgorithm(i) .SetDrawCallback(m => { if (i is RecursiveDivision) { //drawMaze.TransformMaze(m); //MazeImageCreator.CreateMazeImage(drawMaze, i.GetName(), 10, "./"); } }) .RecordMazeTransformationSteps(true) .SetMazeDimensions(60, 60) .Build(); await MazeImageCreator.CreateMazeAnimationGifAsync(mazeBuilder.GetMazeTransformationSteps(), drawMaze, i.GetName(), 5).ConfigureAwait(false); MazeImageCreator.CreateMazeImage(maze, i.GetName(), 5, "./"); Console.WriteLine($"Finished maze image and gif creation for algorithm={i.GetName()}."); }
public void GenerateFullSizeMaze_GeneratesMaze_DoesNotThrow(IMazeGenAlgorithm mazeGenAlgorithm, (int, int) dimensions)
public MazeBuilder SetMazeAlgorithm(IMazeGenAlgorithm algo) { this.algo = algo as MazeGenAlgorithmBase; return(this); }