public static RuleChecker CreateIterativeRules(RuleDirection direction, int overallIdenticalNumber, int subsequentIdenticalNumber) { RuleChecker checker = new RuleChecker(direction); checker.AddRule(new OverallIdenticalNumbersRule(overallIdenticalNumber)); checker.AddRule(new NotMoreThanYSubsequentNumbersIdenticalRule(subsequentIdenticalNumber)); return(checker); }
public static RuleChecker CreateOverarchingRules(int numberOfDigits) { RuleChecker checker = new RuleChecker(RuleDirection.Direct); checker.AddRule(new OverallDigitsRule(numberOfDigits)); return(checker); }
public void LoadLevel(Level level) { room.SetupNewRoom(level, CurrentLevelIndex); foreach (var rule in level.RulesToAdd) { ruleChecker.AddRule(rule); } foreach (var rule in level.RulesToRemove) { ruleChecker.RemoveRule(rule); } }