//public Hand() { } public void Clear() { Cards.Clear(); BestCards.Clear(); PlayerCards.Clear(); HandValue = Hands.Nothing; Suit = 0; }
public void Clear() { HandValue = Hands.Nothing; Suit = Suits.Unknown; Cards.Clear(); BestCards.Clear(); PlayerCards.Clear(); }
public void EvaluateHand() { if (Cards.Count < 2) { return; } BestCards.Clear(); HighCards.Clear(); var result = _eval.EvaluateHand(Cards); BestCards.AddRange(result.Cards); HighCards.AddRange(result.HighCards); HandValue = result.HandValue; Suit = result.Suit; }
public (List <Card> Cards, Hands HandValue, Suits Suit) EvaluateHand(List <Card> cards) { HandValue = Hands.Nothing; Suit = 0; BestCards.Clear(); if (cards.Count() >= 2) { #region Sort the cards cards.Sort(); #endregion #region Royal Straight Flush & Straight Flush & Straight StraightCards(cards); if (HandValue.Equals(Hands.RoyalStraightFlush) || HandValue.Equals(Hands.StraightFlush)) { return(Cards : BestCards, HandValue : HandValue, Suit : Suit); } #endregion #region Four of a kind IsFourOfAKind(cards); if (HandValue.Equals(Hands.FourOfAKind)) { return(Cards : BestCards, HandValue : HandValue, Suit : Suit); } #endregion #region Full House IsFullHouse(cards); if (HandValue.Equals(Hands.FullHouse)) { return(Cards : BestCards, HandValue : HandValue, Suit : Suit); } #endregion #region Flush FlushCards(cards); if (HandValue.Equals(Hands.Flush)) { return(Cards : BestCards, HandValue : HandValue, Suit : Suit); } #endregion #region Straight if (HandValue.Equals(Hands.Straight)) { return(Cards : BestCards, HandValue : HandValue, Suit : Suit); } #endregion #region Three of a Kind IsThreeOfAKind(cards); if (HandValue.Equals(Hands.ThreeOfAKind)) { return(Cards : BestCards, HandValue : HandValue, Suit : Suit); } #endregion #region Two Pair IsTwoPair(cards); if (HandValue.Equals(Hands.TwoPair)) { return(Cards : BestCards, HandValue : HandValue, Suit : Suit); } #endregion #region Pair IsPair(cards); if (HandValue.Equals(Hands.Pair)) { return(Cards : BestCards, HandValue : HandValue, Suit : Suit); } #endregion #region High Card HighCard(cards); #endregion } return(Cards : BestCards, HandValue : HandValue, Suit : Suit); }