コード例 #1
0
ファイル: GameManager.cs プロジェクト: perl-easj/OOProg
        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();
        }
コード例 #2
0
        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);
        }