//--------------------------------------------------------------------- public List <Card> GetCardsWithHundredHandRankType(HandRankTypeTexasH hand_ranktype) { List <Card> list_cards = new List <Card>(); switch (hand_ranktype) { case HandRankTypeTexasH.HighCard: list_cards = _getHighCard(); break; case HandRankTypeTexasH.Pair: list_cards = _getPair(); break; case HandRankTypeTexasH.TwoPairs: list_cards = _getTwoPair(); break; case HandRankTypeTexasH.ThreeOfAKind: list_cards = _getThreeOfAKind(false); break; case HandRankTypeTexasH.Straight: list_cards = _getStraight(); break; case HandRankTypeTexasH.Flush: list_cards = _getFlush(); break; case HandRankTypeTexasH.FullHouse: list_cards = _getFullHouse(); break; case HandRankTypeTexasH.FourOfAKind: list_cards = _getFourOfAKind(); break; case HandRankTypeTexasH.StraightFlush: list_cards = _getStraightFlush(); break; case HandRankTypeTexasH.RoyalFlush: list_cards = _getRoyalFlush(); break; default: break; } return(list_cards); }
//--------------------------------------------------------------------- // 百人桌牌型 public static HandRankTypeTexasH GetHandRankHTexas(List <Card> cards) { HandRankTypeTexasH rank_type = HandRankTypeTexasH.HighCard; var hand_type = HandEvaluator.GetBestHand(cards).RankType; if (hand_type == HandRankTypeTexas.StraightFlush) { cards.Sort((card1, card2) => { return(-((int)card1.Type).CompareTo((int)card2.Type)); }); if (cards[0].Type == (byte)CardType.Ace && cards[1].Type == (byte)CardType.King) { rank_type = HandRankTypeTexasH.RoyalFlush; } else { rank_type = HandRankTypeTexasH.StraightFlush; } } else { foreach (HandRankTypeTexasH i in Enum.GetValues(typeof(HandRankTypeTexasH))) { HandRankTypeTexasH type = i; if (type.ToString().Equals(hand_type.ToString())) { rank_type = type; break; } } } return(rank_type); }
//--------------------------------------------------------------------- public static int ParseHandRankTypeTexasHToNum(HandRankTypeTexasH rank) { return((int)rank); }
//--------------------------------------------------------------------- public static string ParseHandRankTypeTexasHToStr(HandRankTypeTexasH rank) { return(rank.ToString()); }