예제 #1
0
    public RDMazeGenSettings(Location worldSize)
        : base()
    {
        Size = worldSize;

        FillPatterns.Add(new BlankRegionPattern());

        FillPatterns.Add(new SteppedHallwayPattern(new PlateauFixedNumbAndSpace(4, 2, 2), 0.3f));
        FillPatterns.Add(new SteppedHallwayPattern(new PlateauFixedWidthAndSpace(2, 2, 2), 0.3f));
        FillPatterns.Add(new SteppedHallwayPattern(new PlateauFixedWidthAndSpace(5, 1, 2), 0.3f));

        FillPatterns.Add(new ThickHurdlePattern(new PlateauFixedNumbAndSpace(4, 2, 2), 0.6f, 0.3f));
        FillPatterns.Add(new ThickHurdlePattern(new PlateauFixedWidthAndSpace(2, 2, 2), 0.1f, 0.0f));
        FillPatterns.Add(new ThickHurdlePattern(new PlateauFixedWidthAndSpace(5, 1, 2), 0.8f, 0.15f));

        FillPatterns.Add(new CarvedPlusPattern());

        FillPatterns.Add(new XPattern(new Interval(0.46f, 2.174f, true, 3)));

        FillPatterns.Add(new CirclePattern(2));
        FillPatterns.Add(new CirclePattern(3));

        PlatformsPattern temp = new PlatformsPattern(2, 2, 0.3f, 15, new Interval(0.8f, 1.25f, true, 3));

        temp.MaxSuitability = Suitability.Little;
        FillPatterns.Add(temp);

        temp = new PlatformsPattern(2, 1, 0.2f, 15, new Interval(0.8f, 1.25f, true, 3));
        temp.MaxSuitability = Suitability.Little;
        FillPatterns.Add(temp);

        FillPatterns.Add(new ConcentricSquaresPattern());

        FillPatterns.Add(new LinePattern());

        FillPatterns.Add(new AlternatingStepsPattern());
    }
예제 #2
0
    public RoguelikeGenSettings()
        : base()
    {
        NumberOfNodes = new Location(4, 4);

        WrapAroundX = false;
        WrapAroundY = false;

        RoomDimensions = new Location(5, 5);
        RoomXVariance  = new Interval(-3, 3, true, 0);
        RoomYVariance  = new Interval(-3, 3, true, 0);

        TunnelThickness = new Location(3, 2);
        TunnelLength    = new Location(5, 3);

        PercentRooms = 0.5f;

        //Fill patterns.

        FillPatterns.Add(new BlankRegionPattern(6));

        FillPatterns.Add(new CirclePattern(1));
        FillPatterns.Add(new CirclePattern(2));

        FillPatterns.Add(new PlatformsPattern(2, 1, 0.08f, 15, new Interval(0.6f, 1.6667f, true, 4)));
        ((PlatformsPattern)FillPatterns[FillPatterns.Count - 1]).MaxSuitability = Suitability.Moderate;

        FillPatterns.Add(new PlatformsPattern(1, 1, 0.6f, 15, new Interval(0.6f, 1.6667f, true, 4)));
        ((PlatformsPattern)FillPatterns[FillPatterns.Count - 1]).MaxSuitability = Suitability.Little;

        FillPatterns.Add(new ConcentricSquaresPattern());

        FillPatterns.Add(new AlternatingStepsPattern());

        FillPatterns.Add(new ZipperPattern(new PlateauFixedWidthAndSpace(2, 1, 1), new Interval(0.3f, 3.0f, true, 2), 20));
        FillPatterns.Add(new ZipperPattern(new PlateauFixedNumbAndSpace(4, 1, 1), new Interval(0.3f, 3.0f, true, 2), 20));
    }