public override HandRanking Catagorise(Hand hand) { if (HasNoOfKind(2, hand) && HasNoOfKind(2, hand)) { return(HandRanking.TwoPair); } return(Next.Catagorise(hand)); }
public override HandRanking Catagorise(Hand hand) { if (HasStraight(hand)) { return(HandRanking.Straight); } return(Next.Catagorise(hand)); }
public override HandRanking Catagorise(Hand hand) { if (HasNoOfKind(3, hand)) { return(HandRanking.ThreeOfAKind); } return(Next.Catagorise(hand)); }
public override HandRanking Catagorise(Hand hand) { if (HasNoOfKind(3, hand) && HasNoOfKind(2, hand)) { return(HandRanking.FullHouse); } return(Next.Catagorise(hand)); }
public override HandRanking Catagorise(Hand hand) { if (HasFlush(hand)) { return(HandRanking.Flush); } return(Next.Catagorise(hand)); }
public override HandRanking Catagorise(Hand hand) { if (HasFlush(hand) && HasStraight(hand) && hand.HighCard.Val == Value.Ace) { return(HandRanking.RoyalFlush); } return(Next.Catagorise(hand)); }
public override HandRank Catagorise(Hand hand) { return(hand.HasNoOfKind(2) ? HandRank.Pair : Next.Catagorise(hand)); }
public override HandRank Catagorise(Hand hand) { return(hand.HasNoOfKind(3) ? HandRank.ThreeOfAKind : Next.Catagorise(hand)); }
public override HandRank Catagorise(Hand hand) { return(hand.HasNoOfKind(3) && hand.HasNoOfKind(2) ? HandRank.FullHouse : Next.Catagorise(hand)); }
public override HandRank Catagorise(Hand hand) { return(hand.HasStraight() && hand.HasFlush() ? HandRank.StraightFlush : Next.Catagorise(hand)); }
public override HandRank Catagorise(Hand hand) { return(hand.HasTwoPair() ? HandRank.TwoPair : Next.Catagorise(hand)); }
public override HandRank Catagorise(Hand hand) { return(hand.HasFlush() ? HandRank.Flush : Next.Catagorise(hand)); }