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 "";
}