//--------------------------------------------------------------------- // 百人桌牌型 public static HandRankTypeGFlowerH GetHandRankHGFlower(List <Card> cards) { HandRankTypeGFlowerH rank_type = HandRankTypeGFlowerH.HighCard; var hand_type = HandEvaluator.GetBestHand(cards).RankType; if (hand_type == HandRankTypeGFlower.BaoZi) { var card = cards[0]; if (card.Type == (byte)CardType.Ace) { rank_type = HandRankTypeGFlowerH.RoyalBaoZi; } else { rank_type = HandRankTypeGFlowerH.BaoZi; } } else { foreach (HandRankTypeGFlowerH i in Enum.GetValues(typeof(HandRankTypeGFlowerH))) { HandRankTypeGFlowerH type = i; if (type.ToString().Equals(hand_type.ToString())) { rank_type = type; break; } } } return(rank_type); }
//--------------------------------------------------------------------- public List <Card> GetCardsWithHundredHandRankType(HandRankTypeGFlowerH hand_ranktype) { List <Card> list_cards = new List <Card>(); switch (hand_ranktype) { case HandRankTypeGFlowerH.HighCard: list_cards = _getHighCard(); break; case HandRankTypeGFlowerH.Pair: list_cards = _getPair(); break; case HandRankTypeGFlowerH.Straight: list_cards = _getStraight(); break; case HandRankTypeGFlowerH.Flush: list_cards = _getFlush(); break; case HandRankTypeGFlowerH.StraightFlush: list_cards = _getStraightFlush(); break; case HandRankTypeGFlowerH.BaoZi: list_cards = _getThreeOfAKind(CardType.Ace); break; case HandRankTypeGFlowerH.RoyalBaoZi: list_cards = _getThreeOfAKind(CardType.Ace, false); break; default: break; } return(list_cards); }