public bool Analyze(IEnumerable <HandHistories.Objects.Cards.Card> playerCards, BoardCards boardCards) { if (!HandAnalyzerHelpers.IsFlushDraw(playerCards, boardCards, 2, isBackdoor: true)) { return(false); } return(HandAnalyzerHelpers.IsTopKicker(playerCards.OrderByDescending(x => x.RankNumericValue).First(), boardCards.Where(b => b.Suit == playerCards.First().Suit))); }
public bool Analyze(IEnumerable <HandHistories.Objects.Cards.Card> playerCards, BoardCards boardCards) { if (!HandAnalyzerHelpers.IsFlushDraw(playerCards, boardCards, 1)) { return(false); } var drawSuit = boardCards.GroupBy(x => x.Suit).FirstOrDefault(x => x.Count() == 3).Key; return((drawSuit != null) && HandAnalyzerHelpers.IsTopKicker(playerCards.OrderByDescending(x => x.RankNumericValue).First(x => x.Suit == drawSuit), boardCards.Where(b => b.Suit == drawSuit))); }
public override bool Analyze(IEnumerable <HandHistories.Objects.Cards.Card> playerCards, BoardCards boardCards) { if (base.Analyze(playerCards, boardCards)) { var unpairedCard = HandAnalyzerHelpers.GetUnpairedCard(playerCards, boardCards); if (unpairedCard != null) { return(HandAnalyzerHelpers.IsTopKicker(unpairedCard, boardCards)); } } return(false); }