Пример #1
0
        public bool Analyze(IEnumerable <HandHistories.Objects.Cards.Card> playerCards, BoardCards boardCards)
        {
            if (playerCards == null || boardCards == null || playerCards.Count() != 2 || boardCards.Count() == 0)
            {
                return(false);
            }

            if (HandAnalyzerHelpers.IsFlush(playerCards))
            {
                var allCards  = new List <HandHistories.Objects.Cards.Card>(playerCards);
                var boardCopy = new List <HandHistories.Objects.Cards.Card>(boardCards.Where(x => x.Suit == allCards.First().Suit));
                allCards.AddRange(boardCopy);

                var royalFlushCards = HandAnalyzerHelpers.GetRoyalFlushCards(allCards);
                if (royalFlushCards != null)
                {
                    if (!playerCards.Any(c => !royalFlushCards.Contains(c)))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }