Exemple #1
0
        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());
 }