HoldemHand.Hand.DescriptionFromHandValueInternal C# (CSharp) Method

DescriptionFromHandValueInternal() public static method

public static DescriptionFromHandValueInternal ( uint handValue ) : string
handValue uint
return string
        public static string DescriptionFromHandValueInternal(uint handValue)
        {
            StringBuilder b = new StringBuilder();

            switch ((HandTypes)HandType(handValue))
            {
                case HandTypes.HighCard:
                    b.Append("High card: ");
                    b.Append(ranktbl[TopCard(handValue)]);
                    return b.ToString();
                case HandTypes.Pair:
                    b.Append("One pair, ");
                    b.Append(ranktbl[TopCard(handValue)]);
                    return b.ToString();
                case HandTypes.TwoPair:
                    b.Append("Two pair, ");
                    b.Append(ranktbl[TopCard(handValue)]);
                    b.Append("'s and ");
                    b.Append(ranktbl[SECOND_CARD(handValue)]);
                    b.Append("'s with a ");
                    b.Append(ranktbl[THIRD_CARD(handValue)]);
                    b.Append(" for a kicker");
                    return b.ToString();
                case HandTypes.Trips:
                    b.Append("Three of a kind, ");
                    b.Append(ranktbl[TopCard(handValue)]);
                    b.Append("'s");
                    return b.ToString();
                case HandTypes.Straight:
                    b.Append("A straight, ");
                    b.Append(ranktbl[TopCard(handValue)]);
                    b.Append(" high");
                    return b.ToString();
                case HandTypes.Flush:
                    b.Append("A flush");
                    return b.ToString();
                case HandTypes.FullHouse:
                    b.Append("A fullhouse, ");
                    b.Append(ranktbl[TopCard(handValue)]);
                    b.Append("'s and ");
                    b.Append(ranktbl[SECOND_CARD(handValue)]);
                    b.Append("'s");
                    return b.ToString();
                case HandTypes.FourOfAKind:
                    b.Append("Four of a kind, ");
                    b.Append(ranktbl[TopCard(handValue)]);
                    b.Append("'s");
                    return b.ToString();
                case HandTypes.StraightFlush:
                    b.Append("A straight flush");
                    return b.ToString();
            }
            Debug.Assert(false); // Should never get here
            return "";
        }