Example #1
0
        protected override DungeonGeneratorConfiguration <int> GetBasicConfiguration(NamedMapDescription namedMapDescription)
        {
            var configuration = base.GetBasicConfiguration(namedMapDescription);

            configuration.RepeatModeOverride = RoomTemplateRepeatMode.NoRepeat;
            return(configuration);
        }
 private DungeonGeneratorInput <int> GetInput(NamedMapDescription namedMapDescription)
 {
     return(new DungeonGeneratorInput <int>(namedMapDescription.Name, namedMapDescription.MapDescription, new DungeonGeneratorConfiguration <int>()
     {
         RoomsCanTouch = Options.CanTouch,
         EarlyStopIfIterationsExceeded = 20000,
     }));
 }
        private DungeonGeneratorConfiguration <int> GetGreedyTreesConfiguration(NamedMapDescription namedMapDescription)
        {
            var configuration = GetOldConfiguration(namedMapDescription);

            configuration.SimulatedAnnealingConfiguration.GetConfiguration(0).HandleTreesGreedily = true;

            return(configuration);
        }
        protected override DungeonGeneratorConfiguration <int> GetBasicConfiguration(NamedMapDescription namedMapDescription)
        {
            var configuration         = base.GetBasicConfiguration(namedMapDescription);
            var chainDecompositionOld = new BreadthFirstChainDecompositionOld <int>();
            var chainDecomposition    = new TwoStageChainDecomposition <int>(namedMapDescription.MapDescription, chainDecompositionOld);
            var chains = chainDecomposition.GetChains(namedMapDescription.MapDescription.GetGraph());

            configuration.Chains = chains;

            return(configuration);
        }
Example #5
0
        private DungeonGeneratorConfiguration <int> GetOldConfiguration(NamedMapDescription namedMapDescription)
        {
            var configuration = GetBasicConfiguration(namedMapDescription);

            configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration()
            {
                MaxIterationsWithoutSuccess = 100,
            });

            return(configuration);
        }
        private DungeonGeneratorConfiguration <int> GetChainsConfiguration(NamedMapDescription namedMapDescription)
        {
            var chainDecompositionOld = new BreadthFirstChainDecomposition <int>(new ChainDecompositionConfiguration());
            var chainDecomposition    = new TwoStageChainDecomposition <int>(namedMapDescription.MapDescription, chainDecompositionOld);

            var configuration = GetOldConfiguration(namedMapDescription);

            configuration.Chains = chainDecomposition.GetChains(namedMapDescription.MapDescription.GetGraph());

            return(configuration);
        }
        private DungeonGeneratorConfiguration <int> GetConfiguration(NamedMapDescription namedMapDescription, RoomTemplateRepeatMode repeatMode = RoomTemplateRepeatMode.AllowRepeat)
        {
            var configuration = GetBasicConfiguration(namedMapDescription);

            configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration()
            {
                MaxIterationsWithoutSuccess = 100,
                HandleTreesGreedily         = true,
            });
            configuration.RepeatModeOverride = repeatMode;

            return(configuration);
        }
Example #8
0
        private DungeonGeneratorConfiguration <int> GetOldConfiguration(NamedMapDescription namedMapDescription)
        {
            var chainDecompositionOld = new BreadthFirstChainDecompositionOld <int>();
            var chainDecomposition    = new TwoStageChainDecomposition <int>(namedMapDescription.MapDescription, chainDecompositionOld);

            var configuration = GetBasicConfiguration(namedMapDescription);

            configuration.Chains = chainDecomposition.GetChains(namedMapDescription.MapDescription.GetGraph());
            configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration()
            {
                MaxIterationsWithoutSuccess = 10000,
            });

            return(configuration);
        }
Example #9
0
        private DungeonGeneratorConfiguration <int> PreferLargeCycles(NamedMapDescription namedMapDescription)
        {
            var configuration = GetBasicConfiguration(namedMapDescription);

            configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration()
            {
                MaxIterationsWithoutSuccess = 100,
            });
            configuration.ChainDecompositionConfiguration = new ChainDecompositionConfiguration()
            {
                PreferSmallCycles = false,
            };

            return(configuration);
        }
Example #10
0
        private DungeonGeneratorConfiguration <int> GetChainsConfiguration(NamedMapDescription namedMapDescription)
        {
            var configuration = GetBasicConfiguration(namedMapDescription);

            return(configuration);
        }
Example #11
0
        private DungeonGeneratorConfiguration <int> GetChainsAndMaxIterationsAndTreesConfiguration(NamedMapDescription namedMapDescription)
        {
            var configuration = GetBasicConfiguration(namedMapDescription);

            configuration.SimulatedAnnealingConfiguration = new SimulatedAnnealingConfigurationProvider(new SimulatedAnnealingConfiguration()
            {
                MaxIterationsWithoutSuccess = 100,
                HandleTreesGreedily         = true,
            });

            return(configuration);
        }
Example #12
0
 protected virtual DungeonGeneratorConfiguration <int> GetInitialConfiguration(NamedMapDescription namedMapDescription)
 {
     return(GetBasicConfiguration(namedMapDescription));
 }
Example #13
0
 protected abstract DungeonGeneratorConfiguration <int> GetOldConfiguration(NamedMapDescription namedMapDescription);
Example #14
0
        private DungeonGeneratorConfiguration <int> GetWithoutChainDecompositionConfiguration(NamedMapDescription namedMapDescription)
        {
            var chainDecompositionOld = new BreadthFirstChainDecompositionOld <int>();
            var chainDecomposition    = new Edgar.Legacy.Core.ChainDecompositions.TwoStageChainDecomposition <int>(namedMapDescription.MapDescription, chainDecompositionOld);

            var configuration = GetNewConfiguration(namedMapDescription);

            configuration.Chains = chainDecomposition.GetChains(namedMapDescription.MapDescription.GetGraph());

            return(configuration);
        }