public override IHandClassification Classify(Hand hand)
        {
            var nOfAKind = new NOfAKind(hand);

            if (nOfAKind.HasNOfAKind(2))
            {
                var pairCardValue = nOfAKind.NOfAKindValues(2).First();
                return(new PairClassification(pairCardValue));
            }

            return(Next.Classify(hand));
        }
コード例 #2
0
        public override IHandClassification Classify(Hand hand)
        {
            var nOfAKind = new NOfAKind(hand);

            var hasThreeOfAKind = nOfAKind.HasNOfAKind(3);
            var hasTwoOfAKind   = nOfAKind.HasNOfAKind(2);
            var isFullHouse     = hasThreeOfAKind && hasTwoOfAKind;

            if (isFullHouse)
            {
                var tripletCardValue = nOfAKind.NOfAKindValues(3).First();
                var pairCardValue    = nOfAKind.NOfAKindValues(2).First();

                return(new FullHouseClassification(tripletCardValue, pairCardValue));
            }

            return(Next.Classify(hand));
        }