protected override int TieBreaker(HandRanking other) { var right = other as StraightFlushHand; if (Hand.Cards.Max(card => card.Value) != right.Hand.Cards.Max(card => card.Value)) { return(Hand.Cards.Max(card => card.Value) > right.Hand.Cards.Max(card => card.Value) ? 1 : -1); } return(0); }
protected override int TieBreaker(HandRanking other) { var right = other as TwoPairHand; if (PairValues.SequenceEqual(right.PairValues)) { return(Kickers.CompareSequenceTo(right.Kickers)); } return(0); }
protected override int TieBreaker(HandRanking other) { var right = other as FourOfAKindHand; if (Kind == right.Kind) { return(Kickers.CompareSequenceTo(right.Kickers)); } return(Kind > right.Kind ? 1 : -1); }
protected override int TieBreaker(HandRanking other) { var right = other as FullHouseHand; if (ThreeKind == right.ThreeKind) { if (TwoKind != right.TwoKind) { return(TwoKind > right.TwoKind ? 1 : -1); } return(0); } return(ThreeKind > right.ThreeKind ? 1 : -1); }
protected override int TieBreaker(HandRanking other) { var right = other as OnePairHand; if (PairValue > right.PairValue) { return(1); } else if (PairValue < right.PairValue) { return(-1); } else { return(Kickers.CompareSequenceTo(right.Kickers)); } }
protected override int TieBreaker(HandRanking other) { return(0); }
protected abstract int TieBreaker(HandRanking other);
protected override int TieBreaker(HandRanking other) { return(Hand.CompareSequenceTo(other.Hand)); }
protected override int TieBreaker(HandRanking other) { var right = other as StraightHand; return(Hand.CompareSequenceTo(right.Hand)); }