コード例 #1
0
        private string CalculateStrongestOpponent(HandHistories.Objects.Hand.HandHistory CurrentGame, Street CurrentStreet)
        {
            try
            {
                IEnumerable <EquityRangeSelectorItemViewModel> oponnentHands = new List <EquityRangeSelectorItemViewModel>();

                var opponentName = string.Empty;

                MainAnalyzer.GetStrongestOpponent(CurrentGame, CurrentStreet, out opponentName, out oponnentHands);

                if (AutoGenerateHandRanges)
                {
                    if (!string.IsNullOrEmpty(opponentName) &&
                        oponnentHands.Any() &&
                        PlayersList.Any(x => x.PlayerName == opponentName && x.Cards.All(c => !c.Validate())))
                    {
                        oponnentHands.ForEach(r => r.UsedCards = _board.Cards);

                        var player = PlayersList.FirstOrDefault(x => x.PlayerName == opponentName);
                        player?.SetRanges(oponnentHands);
                    }
                }

                return(opponentName);
            }
            catch (Exception ex)
            {
                LogProvider.Log.Error(this, "Could not determine the strongest opponent", ex);
            }

            return(string.Empty);
        }