public MoveValidationResult IsValid(MoveInfo input) { var rules = _ruleFactory.GetRules(_board); var result = new MoveValidationResult { TotalRules = 0, Passed = 0, Failed = 0, IsValid = true }; foreach (var r in rules) { result.TotalRules++; var passed = r.Verify(input); if (passed) { result.Passed++; } else { result.Failed++; result.IsValid = false; } } return(result); }
public GameController(IRuleFactory ruleFactory) { _generationUpdater = new GenerationUpdater(ruleFactory.GetRules()); }