Beispiel #1
0
        public ActionResult GenerateMaze(int width, int height)
        {
            var alg = new AlgorithmDivisionDynamic();

            var map = alg.Generate <UndefinedInnerMap, NetRandom>(width, height, null);

            using (var memoryStream = new MemoryStream())
            {
                WithoutPath.MazeToImage(map, memoryStream);

                var data = memoryStream.ToArray();
                return(File(data, "image/png"));
            }
        }
        public static void Test6()
        {
            int size = 4096;

            var alg  = new AlgorithmKruskal();
            var w    = Stopwatch.StartNew();
            var maze = alg.Generate <BitArreintjeFastInnerMap, NetRandom>(size, size, 1337, null);

            Console.WriteLine($"Generation time: {w.Elapsed}");

            w.Restart();
            var result = MazeVerifier.IsPerfectMaze(maze);

            Console.WriteLine($"Perfect maze verification time: {w.Elapsed}");
            Console.WriteLine($"Is our maze perfect?: {result}");

            using (var fs = new FileStream("KruskalMaze.png", FileMode.Create))
            {
                WithoutPath.MazeToImage(maze, fs);
            }
        }