Exemple #1
0
    private static DifficultyParameters GetMedium()
    {
        var mediumParams = new DifficultyParameters()
        {
            Difficulty           = PuzzleDifficulty.Medium,
            MirrorsRatioMin      = 0.22f,
            MirrorsRatioMax      = 0.52f,
            UniqueSolutionPaths  = 0.74f,
            RandomFillComplexity = 0.4f
        };

        mediumParams.SetMaxPath(BoardSize.Four, 6);
        mediumParams.SetMaxPath(BoardSize.Five, 7);
        mediumParams.SetMaxPath(BoardSize.Six, 9);
        mediumParams.SetMaxPath(BoardSize.Eight, 12);

        return(mediumParams);
    }
Exemple #2
0
    private static DifficultyParameters GetVeryHard()
    {
        var hardParams = new DifficultyParameters()
        {
            Difficulty           = PuzzleDifficulty.VeryHard,
            MirrorsRatioMin      = 0.22f,
            MirrorsRatioMax      = 0.52f,
            UniqueSolutionPaths  = 0.55f,
            RandomFillComplexity = 0.8f
        };

        hardParams.SetMaxPath(BoardSize.Four, 9);
        hardParams.SetMaxPath(BoardSize.Five, 11);
        hardParams.SetMaxPath(BoardSize.Six, 13);
        hardParams.SetMaxPath(BoardSize.Eight, 16);

        return(hardParams);
    }
Exemple #3
0
    private static DifficultyParameters GetEasy()
    {
        var easyParams = new DifficultyParameters()
        {
            Difficulty           = PuzzleDifficulty.Easy,
            MirrorsRatioMin      = 0.22f,
            MirrorsRatioMax      = 0.52f,
            UniqueSolutionPaths  = 0.80f,
            RandomFillComplexity = 0.2f
        };

        easyParams.SetMaxPath(BoardSize.Four, 5);
        easyParams.SetMaxPath(BoardSize.Five, 6);
        easyParams.SetMaxPath(BoardSize.Six, 7);
        easyParams.SetMaxPath(BoardSize.Eight, 9);

        return(easyParams);
    }