Esempio n. 1
0
        //---------------------------------------------------------------------
        // 百人桌牌型
        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);
        }
Esempio n. 2
0
        //---------------------------------------------------------------------
        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);
        }