Exemple #1
0
        public void NewMaze()
        {
            var maze = new Maze(Dimensions);

            DisjointSetMazeGenerator.Generate(maze);
            LongestPathEndpointGenerator.Generate(maze, maze.Dimensions[0] / 2, 0);
            this.maze = maze;

            MazeUpdated();
        }
Exemple #2
0
        public void SpiralMaze()
        {
            // ┌─────┐
            // ├───┐ │
            // │ ╶─┘ │
            // └─────┘
            var maze = new Maze(3, 3);

            maze[0, 0][2] = false;
            maze[1, 0][2] = false;
            maze[2, 0][3] = false;
            maze[2, 1][3] = false;
            maze[2, 2][0] = false;
            maze[1, 2][0] = false;
            maze[0, 2][1] = false;
            maze[0, 1][2] = false;
            LongestPathEndpointGenerator.Generate(maze, 0, 0);

            Assert.AreEqual(new int[] { -1, 1 }, maze.Exit);
        }