public Maze(int width, int height, ISolvingAlgorithm solving, IGeneratingAlgorithm generating) { maze = new UpTree(width, height); this.width = width; this.height = height; solvingAlgorithm = solving; generatingAlgorithm = generating; start = 0; end = (width * height) - 1; }
public void SetSolvingAlgorithm(int algorithm) { switch (algorithm) { case 0: solvingAlgorithm = new AStarSolvingAlgorithm(); break; case 1: solvingAlgorithm = new BacktrackingSolvingAlgorithm(); break; case 2: solvingAlgorithm = new BreadthFirstSolvingAlgorithm(); break; case 3: solvingAlgorithm = new DeadEndSolvingAlgorithm(); break; case 4: solvingAlgorithm = new DepthFirstSolvingAlgorithm(); break; case 5: solvingAlgorithm = new GreedyBestFirstSolvingAlgorithm(); break; case 6: solvingAlgorithm = new PersonSimulatorSolvingAlgorithm(); break; case 7: solvingAlgorithm = new RightHandSolvingAlgorithm(); break; case 8: solvingAlgorithm = new QLearningAlgorithm(); break; } solved = false; }