Esempio n. 1
0
 public RandomCarver(IRandomPointGenerator randomPointGenerator, IPointsAndDirectionsRetriever pointsAndDirectionsRetriever, IDirectionsFlagParser directionsFlagParser, IArrayHelper arrayHelper)
 {
     _randomPointGenerator         = randomPointGenerator;
     _pointsAndDirectionsRetriever = pointsAndDirectionsRetriever;
     _directionsFlagParser         = directionsFlagParser;
     _arrayHelper = arrayHelper;
 }
 public DeadEndModelWrapper(IMovementHelper movementHelper, IDirectionsFlagParser flagParser, IMazeArrayBuilder mazeArrayBuilder, IModelBuilder model)
 {
     _movementHelper = movementHelper;
     _flagParser     = flagParser;
     _model          = model;
     Maze            = mazeArrayBuilder.Build(Size);
 }
Esempio n. 3
0
 public GrowingTreeAlgorithm(IRandomPointGenerator randomPointGenerator, IRandomValueGenerator randomValueGenerator, IDirectionsFlagParser directionsFlagParser, IArrayHelper arrayHelper)
 {
     _randomPointGenerator = randomPointGenerator;
     _randomValueGenerator = randomValueGenerator;
     _directionsFlagParser = directionsFlagParser;
     _arrayHelper          = arrayHelper;
 }
Esempio n. 4
0
 public MazeModelFactory(IMovementHelper movementHelper, IDirectionsFlagParser parser, IMazePointFactory pointFactory, IMazeArrayBuilder mazeArrayBuilder, IRandomPointGenerator randomPointGenerator)
 {
     _movementHelper       = movementHelper;
     _parser               = parser;
     _pointFactory         = pointFactory;
     _mazeArrayBuilder     = mazeArrayBuilder;
     _randomPointGenerator = randomPointGenerator;
 }
 public MazeFactory(IPointValidity pointValidity, IMovementHelper movementHelper, IDirectionsFlagParser directionsFlagParser, IRandomPointGenerator randomPointGenerator, IModelsWrapperFactory modelsWrapperFactory)
 {
     _pointValidity        = pointValidity;
     _movementHelper       = movementHelper;
     _directionsFlagParser = directionsFlagParser;
     _randomPointGenerator = randomPointGenerator;
     _modelsWrapperFactory = modelsWrapperFactory;
 }
Esempio n. 6
0
 public void Initialise(IModelsWrapper modelsWrapper, IDirectionsFlagParser directionsFlagParser, IMovementHelper movementHelper, IPointValidity pointValidity, IRandomPointGenerator randomPointGenerator, MazePoint startingPoint = null)
 {
     ModelsWrapper        = modelsWrapper;
     DirectionsFlagParser = directionsFlagParser;
     MovementHelper       = movementHelper;
     PointValidity        = pointValidity;
     RandomPointGenerator = randomPointGenerator;
     CurrentPoint         = startingPoint ?? randomPointGenerator.RandomPoint(Size);
 }
 public MazeStatsGenerator(IDirectionsFlagParser directionsFlagParser)
 {
     _directionsFlagParser = directionsFlagParser;
 }
Esempio n. 8
0
 public Model3(IDirectionsFlagParser flagParser, IMazePointFactory pointFactory, IMovementHelper movementHelper)
 {
     _flagParser     = flagParser;
     _pointFactory   = pointFactory;
     _movementHelper = movementHelper;
 }
 public MovementHelper(IDirectionsFlagParser flagParser, IMazePointFactory pointFactory, IPointValidity pointValidity)
 {
     _flagParser    = flagParser;
     _pointFactory  = pointFactory;
     _pointValidity = pointValidity;
 }
Esempio n. 10
0
 public CellInformationLoader(IDirectionsFlagParser directionsFlagParser)
 {
     _directionsFlagParser = directionsFlagParser;
 }
Esempio n. 11
0
        public ExperimentRunner(IMazeGenerationFactory mazeGenerationFactory, IArrayHelper arrayHelper, IOutputWriter outputWriter, IDirectionsFlagParser directionsFlagParser)
        {
            _mazeGenerationFactory = mazeGenerationFactory;
            _arrayHelper           = arrayHelper;
            _outputWriter          = outputWriter;
            _directionsFlagParser  = directionsFlagParser;

            Settings1 = new MazeGenerationSettings
            {
                Algorithm   = Algorithm.BinaryTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = true,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                }
            };

            Settings2 = new MazeGenerationSettings
            {
                Algorithm   = Algorithm.BinaryTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = false,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                }
            };

            Settings3 = new MazeGenerationSettings
            {
                Algorithm   = Algorithm.RecursiveBacktrackerAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = true,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                }
            };

            Settings4 = new MazeGenerationSettings
            {
                Algorithm   = Algorithm.RecursiveBacktrackerAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = false,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                }
            };

            Settings5 = new GrowingTreeSettings
            {
                Algorithm   = Algorithm.GrowingTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = true,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                },
                Strategies = new List <GrowingTreeStrategy> {
                    GrowingTreeStrategy.Newest
                }
            };

            Settings6 = new GrowingTreeSettings
            {
                Algorithm   = Algorithm.GrowingTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = false,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                },
                Strategies = new List <GrowingTreeStrategy> {
                    GrowingTreeStrategy.Newest
                }
            };

            Settings7 = new GrowingTreeSettings
            {
                Algorithm   = Algorithm.GrowingTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = true,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                },
                Strategies = new List <GrowingTreeStrategy> {
                    GrowingTreeStrategy.Random
                }
            };

            Settings8 = new GrowingTreeSettings
            {
                Algorithm   = Algorithm.GrowingTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = false,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                },
                Strategies = new List <GrowingTreeStrategy> {
                    GrowingTreeStrategy.Random
                }
            };

            Settings9 = new GrowingTreeSettings
            {
                Algorithm   = Algorithm.GrowingTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = true,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                },
                Strategies = new List <GrowingTreeStrategy> {
                    GrowingTreeStrategy.Newest, GrowingTreeStrategy.Newest, GrowingTreeStrategy.Newest, GrowingTreeStrategy.RandomOldest, GrowingTreeStrategy.Middle
                }
            };

            Settings10 = new GrowingTreeSettings
            {
                Algorithm   = Algorithm.GrowingTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = false,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                },
                Strategies = new List <GrowingTreeStrategy> {
                    GrowingTreeStrategy.Newest, GrowingTreeStrategy.Newest, GrowingTreeStrategy.Newest, GrowingTreeStrategy.RandomOldest, GrowingTreeStrategy.Middle
                }
            };

            Settings11 = new GrowingTreeSettings
            {
                Algorithm   = Algorithm.GrowingTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = true,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                },
                Strategies = new List <GrowingTreeStrategy> {
                    GrowingTreeStrategy.Newest, GrowingTreeStrategy.Oldest
                }
            };

            Settings12 = new GrowingTreeSettings
            {
                Algorithm   = Algorithm.GrowingTreeAlgorithm,
                AgentType   = AgentType.None,
                DoorsAtEdge = false,
                ExtraWalls  = WallCarverOption.Random,
                Option      = MazeType.DirectedMaze,
                Size        = new MazeSize {
                    X = 25, Y = 25, Z = 25
                },
                Strategies = new List <GrowingTreeStrategy> {
                    GrowingTreeStrategy.Newest, GrowingTreeStrategy.Oldest
                }
            };
        }
 public PerfectAgent(IDirectionsFlagParser directionsFlagParser, IArrayHelper arrayHelper)
 {
     _directionsFlagParser = directionsFlagParser;
     _arrayHelper          = arrayHelper;
 }
 public AgentFactory(IDirectionsFlagParser directionsFlagParser, IPointsAndDirectionsRetriever pointsAndDirectionsRetriever, IArrayHelper arrayHelper)
 {
     _directionsFlagParser         = directionsFlagParser;
     _pointsAndDirectionsRetriever = pointsAndDirectionsRetriever;
     _arrayHelper = arrayHelper;
 }
Esempio n. 14
0
 public RandomAgent2(IPointsAndDirectionsRetriever pointsAndDirectionsRetriever, IDirectionsFlagParser directionsFlagParser, IArrayHelper arrayHelper)
 {
     _pointsAndDirectionsRetriever = pointsAndDirectionsRetriever;
     _directionsFlagParser         = directionsFlagParser;
     _arrayHelper = arrayHelper;
 }
 public DeadEndModelWrapperFactory(IMazeArrayBuilder mazeArrayBuilder, IDirectionsFlagParser directionsFlagParser, IMovementHelper movementHelper)
 {
     _mazeArrayBuilder     = mazeArrayBuilder;
     _directionsFlagParser = directionsFlagParser;
     _movementHelper       = movementHelper;
 }
 public BacktrackerAlgorithm(IDirectionsFlagParser directionsFlagParser, IRandomPointGenerator randomPointGenerator, IArrayHelper arrayHelper)
 {
     _directionsFlagParser = directionsFlagParser;
     _randomPointGenerator = randomPointGenerator;
     _arrayHelper          = arrayHelper;
 }
Esempio n. 17
0
 public void Setup()
 {
     _flagParser = new DirectionsFlagParser();
 }
 public Model1(IDirectionsFlagParser flagParser, IMovementHelper movementHelper, IMazeArrayBuilder mazeArrayBuilder)
 {
     _flagParser       = flagParser;
     _movementHelper   = movementHelper;
     _mazeArrayBuilder = mazeArrayBuilder;
 }
Esempio n. 19
0
 public GraphBuilder(IPointsAndDirectionsRetriever directionsRetriever, IDirectionsFlagParser directionsFlagParser)
 {
     _directionsRetriever  = directionsRetriever;
     _directionsFlagParser = directionsFlagParser;
 }