public GameManager(int numberOfDice, int noOfFaces) { _cup = new DiceCup(numberOfDice, noOfFaces); _diceEvaluators = new Dictionary <string, IDiceEvaluator>(); _diceEvaluators.Add("Ones", new OnesEvaluator()); _diceEvaluators.Add("Twos", new TwosEvaluator()); _diceEvaluators.Add("Threes", new ThreesEvaluator()); _diceEvaluators.Add("Fours", new FoursEvaluator()); _diceEvaluators.Add("Fives", new FivesEvaluator()); _diceEvaluators.Add("Sixes", new SixesEvaluator()); _diceEvaluators.Add("One Pair", new OnePairEvaluator()); _diceEvaluators.Add("Two Pairs", new TwoPairsEvaluator()); _diceEvaluators.Add("Three Pairs", new ThreePairsEvaluator()); _diceEvaluators.Add("Three of a Kind", new ThreeOfAKindEvaluator()); _diceEvaluators.Add("Four of a Kind", new FourOfAKindEvaluator()); _diceEvaluators.Add("Five of a Kind", new FiveOfAKindEvaluator()); _diceEvaluators.Add("Small Straight", new SmallStraightEvaluator()); _diceEvaluators.Add("Big Straight", new BigStraightEvaluator()); _diceEvaluators.Add("Full Straight", new FullStraightEvaluator()); _diceEvaluators.Add("Full House", new FullHouseEvaluator()); _diceEvaluators.Add("Double House", new DoubleHouseEvaluator()); _diceEvaluators.Add("Tower", new TowerEvaluator()); _diceEvaluators.Add("Chance", new ChanceEvaluator()); _diceEvaluators.Add("Yatzy", new YatzyEvaluator()); _evaluationStats = new DiceEvaluationStatistics(); }
public DiceEvaluationStatistics FilterStats(List <string> positiveEvals) { DiceEvaluationStatistics filteredStats = new DiceEvaluationStatistics(); foreach (var eval in _evaluations) { bool evalAdded = false; foreach (var evalName in positiveEvals) { if (!evalAdded && eval.Evaluations.ContainsKey(evalName) && eval.Evaluations[evalName] > 0) { filteredStats.AddEvaluation(eval); evalAdded = true; } } } return(filteredStats); }