Example #1
0
        public static RankHandGradeEnum Grade(this HighPairOutcomeEnum outcome)
        {
            switch (outcome)
            {
            case HighPairOutcomeEnum.Foursome:
                return(RankHandGradeEnum.Foursome);

            case HighPairOutcomeEnum.HighSecondFullHouse:
            case HighPairOutcomeEnum.HighThirdFullHouse:
            case HighPairOutcomeEnum.HighLowFullHouse:
            case HighPairOutcomeEnum.SecondHighFullHouse:
            case HighPairOutcomeEnum.ThirdHighFullHouse:
            case HighPairOutcomeEnum.LowHighFullHouse:
                return(RankHandGradeEnum.FullHouse);

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

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

            case HighPairOutcomeEnum.OverTwoPairs:
            case HighPairOutcomeEnum.OverSecondTwoPairs:
            case HighPairOutcomeEnum.OverThirdTwoPairs:
            case HighPairOutcomeEnum.OverLowTwoPairs:
            case HighPairOutcomeEnum.UnderTwoPairs:
            case HighPairOutcomeEnum.SecondTwoPairsTopKicker:
            case HighPairOutcomeEnum.SecondTwoPairsGoodKicker:
            case HighPairOutcomeEnum.SecondTwoPairsWeakKicker:
            case HighPairOutcomeEnum.SecondTwoPairsNoneKicker:
            case HighPairOutcomeEnum.ThirdTwoPairs:
            case HighPairOutcomeEnum.LowTwoPairs:
                return(RankHandGradeEnum.TwoPairs);

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

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

            case HighPairOutcomeEnum.HighFullHouseMiddlePair:
            case HighPairOutcomeEnum.HighFullHouseLowPair:
            case HighPairOutcomeEnum.MiddleFullHouse:
            case HighPairOutcomeEnum.LowFullHouse:
                return(RankHandGradeEnum.FullHouse);

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

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

            case HighPairOutcomeEnum.OverTwoPairs:
            case HighPairOutcomeEnum.AboveMiddleTwoPairs:
            case HighPairOutcomeEnum.MiddleTwoPairs:
            case HighPairOutcomeEnum.AboveLowTwoPairs:
            case HighPairOutcomeEnum.LowTwoPairs:
            case HighPairOutcomeEnum.UnderTwoPairs:
                return(RankHandGradeEnum.TwoPairs);

            default:
                return(RankHandGradeEnum.OnePair);
            }
        }