Beispiel #1
0
            private static async Task CreateImageAndGifForAlgoAsync(IMazeGenAlgorithm i)
            {
                var drawMaze = new TileMapMaze(55, 55);

                drawMaze.OverrideAllMazeFields(MazeFieldType.Wall);
                await CreateMazeImageAndGif(i).ConfigureAwait(false);
            }
Beispiel #2
0
        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)
Beispiel #4
0
 public MazeBuilder SetMazeAlgorithm(IMazeGenAlgorithm algo)
 {
     this.algo = algo as MazeGenAlgorithmBase;
     return(this);
 }