Beispiel #1
0
        /// <summary>
        /// Sets the Chain of responsibility for the combination checkers
        /// </summary>
        protected virtual void SetupCheckers()
        {
            RoyalStraightFlushChecker royalStraightFlushChecker = new RoyalStraightFlushChecker();
            StraightFlushChecker      straightFlushChecker      = new StraightFlushChecker();
            FourOfKindChecker         fourOfKindChecker         = new FourOfKindChecker();
            FullHouseChecker          fullHouseChecker          = new FullHouseChecker();
            FlushChecker       flushChecker       = new FlushChecker();
            StraightChecker    straightChecker    = new StraightChecker();
            ThreeOfKindChecker threeOfKindChecker = new ThreeOfKindChecker();
            TwoPairsChecker    twoPairsChecker    = new TwoPairsChecker();
            OnePairChecker     onePairChecker     = new OnePairChecker();
            TopCardChecker     topCardChecker     = new TopCardChecker();

            royalStraightFlushChecker.SetNext(straightFlushChecker);
            straightFlushChecker.SetNext(fourOfKindChecker);
            fourOfKindChecker.SetNext(fullHouseChecker);
            fullHouseChecker.SetNext(flushChecker);
            flushChecker.SetNext(straightChecker);
            straightChecker.SetNext(threeOfKindChecker);
            threeOfKindChecker.SetNext(twoPairsChecker);
            twoPairsChecker.SetNext(onePairChecker);
            onePairChecker.SetNext(topCardChecker);

            _firstChecker = royalStraightFlushChecker;
        }