コード例 #1
0
        public bool IsFourOfAKind(Hand hand)
        {
            foreach (IGrouping<Rank, Card> grouping in hand.GroupBy(c => c.Rank))
                if (grouping.Count() == 4)
                    return true;

            return false;
        }
コード例 #2
0
        public bool IsFullHouse(Hand hand)
        {
            IEnumerable<IGrouping<Rank, Card>> groupings = hand.GroupBy(c => c.Rank);

            return(groupings.Count() == 2 &&
                (groupings.ElementAt(0).Count() == 2 ||
                    groupings.ElementAt(0).Count() == 3));
        }
コード例 #3
0
        public bool IsTwoPair(Hand hand)
        {
            IEnumerable<IGrouping<Rank, Card>> groupings = hand.GroupBy(c => c.Rank);

            return ((from g in groupings where g.Count() == 2 select g).Count() == 2);
        }