示例#1
0
        public static RankHandGradeEnum Grade(this LowPairOutcomeEnum outcome)
        {
            switch (outcome)
            {
            case LowPairOutcomeEnum.Foursome:
                return(RankHandGradeEnum.Foursome);

            case LowPairOutcomeEnum.HighLowFullHouse:
            case LowPairOutcomeEnum.SecondLowFullHouse:
            case LowPairOutcomeEnum.ThirdLowFullHouse:
            case LowPairOutcomeEnum.LowHighFullHouse:
            case LowPairOutcomeEnum.LowSecondFullHouse:
            case LowPairOutcomeEnum.LowThirdFullHouse:
                return(RankHandGradeEnum.FullHouse);

            case LowPairOutcomeEnum.StraightOverTwo:
            case LowPairOutcomeEnum.StraightOverOne:
            case LowPairOutcomeEnum.StraightOverNone:
                return(RankHandGradeEnum.Straight);

            case LowPairOutcomeEnum.ThreesomeTopKicker:
            case LowPairOutcomeEnum.ThreesomeGoodKicker:
            case LowPairOutcomeEnum.ThreesomeWeakKicker:
            case LowPairOutcomeEnum.ThreesomeNoneKicker:
                return(RankHandGradeEnum.Threesome);

            case LowPairOutcomeEnum.OverTwoPairs:
            case LowPairOutcomeEnum.OverSecondTwoPairs:
            case LowPairOutcomeEnum.OverThirdTwoPairs:
            case LowPairOutcomeEnum.OverLowTwoPairs:
            case LowPairOutcomeEnum.UnderTwoPairs:
            case LowPairOutcomeEnum.HighTwoPairsTopKicker:
            case LowPairOutcomeEnum.HighTwoPairsGoodKicker:
            case LowPairOutcomeEnum.HighTwoPairsWeakKicker:
            case LowPairOutcomeEnum.HighTwoPairsNoneKicker:
            case LowPairOutcomeEnum.SecondTwoPairs:
            case LowPairOutcomeEnum.ThirdTwoPairs:
                return(RankHandGradeEnum.TwoPairs);

            case LowPairOutcomeEnum.TopKicker:
            case LowPairOutcomeEnum.GoodKicker:
            case LowPairOutcomeEnum.WeakKicker:
            case LowPairOutcomeEnum.NoneKicker:
                return(RankHandGradeEnum.OnePair);

            default:
                throw new InvalidOperationException();
            }
        }
示例#2
0
        public static RankHandGradeEnum Grade(this LowPairOutcomeEnum outcome)
        {
            switch (outcome)
            {
            case LowPairOutcomeEnum.Foursome:
                return(RankHandGradeEnum.Foursome);

            case LowPairOutcomeEnum.HighFullHouse:
            case LowPairOutcomeEnum.MiddleFullHouse:
            case LowPairOutcomeEnum.LowFullHouseHighPair:
            case LowPairOutcomeEnum.LowFullHouseMiddlePair:
                return(RankHandGradeEnum.FullHouse);

            case LowPairOutcomeEnum.StraightOverTwo:
            case LowPairOutcomeEnum.StraightOverOne:
            case LowPairOutcomeEnum.StraightOverNone:
                return(RankHandGradeEnum.Straight);

            case LowPairOutcomeEnum.ThreesomeTopKicker:
            case LowPairOutcomeEnum.ThreesomeOverGoodKicker:
            case LowPairOutcomeEnum.ThreesomeOverWeakKicker:
            case LowPairOutcomeEnum.ThreesomeNoneKicker:
                return(RankHandGradeEnum.Threesome);

            case LowPairOutcomeEnum.OverTwoPairs:
            case LowPairOutcomeEnum.HighTwoPairs:
            case LowPairOutcomeEnum.AboveMiddleTwoPairs:
            case LowPairOutcomeEnum.MiddleTwoPairs:
            case LowPairOutcomeEnum.AboveLowTwoPairs:
            case LowPairOutcomeEnum.UnderTwoPairs:
                return(RankHandGradeEnum.TwoPairs);

            default:
                return(RankHandGradeEnum.OnePair);
            }
        }