Beispiel #1
0
        public override int CompareToOffsuitHand(OffsuitHandBase other)
        {
            var otherHighCard = other as HighCard;

            if (otherHighCard == null)
            {
                return(HandRank.CompareTo(other.HandRank));
            }

            if (Card1 != otherHighCard.Card1)
            {
                return(Card1.CompareTo(otherHighCard.Card1));
            }
            if (Card2 != otherHighCard.Card2)
            {
                return(Card2.CompareTo(otherHighCard.Card2));
            }
            if (Card3 != otherHighCard.Card3)
            {
                return(Card3.CompareTo(otherHighCard.Card3));
            }
            if (Card4 != otherHighCard.Card4)
            {
                return(Card4.CompareTo(otherHighCard.Card4));
            }
            return(Card5.CompareTo(otherHighCard.Card5));
        }
Beispiel #2
0
        public override int CompareToOffsuitHand(OffsuitHandBase other)
        {
            var otherStraight = other as Straight;

            if (otherStraight == null)
            {
                return(HandRank.CompareTo(other.HandRank));
            }

            return(TopCardRank.CompareTo(otherStraight.TopCardRank));
        }
Beispiel #3
0
        public override int CompareToOffsuitHand(OffsuitHandBase other)
        {
            var otherFourSome = other as FourSome;

            if (otherFourSome == null)
            {
                return(HandRank.CompareTo(other.HandRank));
            }

            return(Kicker.CompareTo(otherFourSome.Kicker));
        }
Beispiel #4
0
        public override int CompareToOffsuitHand(OffsuitHandBase other)
        {
            var otherFullHouse = other as FullHouse;

            if (otherFullHouse == null)
            {
                return(HandRank.CompareTo(other.HandRank));
            }

            if (TriRank != otherFullHouse.TriRank)
            {
                return(TriRank.CompareTo(otherFullHouse.TriRank));
            }

            return(PairRank.CompareTo(otherFullHouse.PairRank));
        }
Beispiel #5
0
        public override int CompareToOffsuitHand(OffsuitHandBase other)
        {
            var otherThreeSome = other as ThreeSome;

            if (otherThreeSome == null)
            {
                return(HandRank.CompareTo(other.HandRank));
            }

            if (TriRank != otherThreeSome.TriRank)
            {
                return(TriRank.CompareTo(otherThreeSome.TriRank));
            }

            if (Kicker1Rank != otherThreeSome.Kicker1Rank)
            {
                return(Kicker1Rank.CompareTo(otherThreeSome.Kicker1Rank));
            }

            return(Kicker2Rank.CompareTo(otherThreeSome.Kicker2Rank));
        }
Beispiel #6
0
        public override int CompareToOffsuitHand(OffsuitHandBase other)
        {
            var otherTwoPairs = other as TwoPairs;

            if (otherTwoPairs == null)
            {
                return(HandRank.CompareTo(other.HandRank));
            }

            if (Pair1Rank != otherTwoPairs.Pair1Rank)
            {
                return(Pair1Rank.CompareTo(otherTwoPairs.Pair1Rank));
            }

            if (Pair2Rank != otherTwoPairs.Pair2Rank)
            {
                return(Pair2Rank.CompareTo(otherTwoPairs.Pair2Rank));
            }

            return(KickerRank.CompareTo(otherTwoPairs.KickerRank));
        }
Beispiel #7
0
        public override int CompareToOffsuitHand(OffsuitHandBase other)
        {
            var otherOnePair = other as OnePair;

            if (otherOnePair == null)
            {
                return(HandRank.CompareTo(other.HandRank));
            }

            if (PairRank != otherOnePair.PairRank)
            {
                return(PairRank.CompareTo(otherOnePair.PairRank));
            }
            if (Kicker1 == otherOnePair.Kicker1)
            {
                return(Kicker1.CompareTo(otherOnePair.Kicker1));
            }
            if (Kicker2 == otherOnePair.Kicker2)
            {
                return(Kicker2.CompareTo(otherOnePair.Kicker2));
            }

            return(Kicker3.CompareTo(otherOnePair.Kicker3));
        }