예제 #1
0
 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;
 }
예제 #2
0
        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;
        }