Poker.PokerHandsChecker.IsFlush C# (CSharp) Method

IsFlush() public method

public IsFlush ( IHand hand ) : bool
hand IHand
return bool
        public bool IsFlush(IHand hand)
        {
            bool isFlush = true;

            if (!this.IsValidHand(hand))
            {
                throw new ArgumentException("Hand was not valid");
            }

            for (int i = 0; i < hand.Cards.Count - 1; i++)
            {
                if (!(hand.Cards[i].Suit == hand.Cards[i + 1].Suit))
                {
                    isFlush = false;
                }
            }

            return isFlush;
        }

Usage Example

Example #1
0
        internal static int CompareTwoFlushHands(IHand firstHand, IHand secondHand)
        {
            if (checker.IsFlush(firstHand) && !checker.IsFlush(secondHand))
            {
                return(1);
            }
            else if (!checker.IsFlush(firstHand) && checker.IsFlush(secondHand))
            {
                return(-1);
            }

            var firstHandSortedCards  = firstHand.Cards;
            var secondHandSortedCards = secondHand.Cards;

            PokerHandsChecker.SortCardsByFace(firstHandSortedCards);
            PokerHandsChecker.SortCardsByFace(secondHandSortedCards);

            for (int i = firstHandSortedCards.Count - 1; i >= 0; i--)
            {
                if ((int)firstHandSortedCards[i].Face > (int)secondHandSortedCards[i].Face)
                {
                    return(1);
                }
                else if ((int)firstHandSortedCards[i].Face < (int)secondHandSortedCards[i].Face)
                {
                    return(-1);
                }
            }

            return(0);
        }
All Usage Examples Of Poker.PokerHandsChecker::IsFlush