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);
        }
Exemple #2
0
 private void SetUpPlayerConfigData()
 {
     for (var i = 0; i < _configurationData.PlayerIndexes.Count; i++)
     {
         ConfiguredPlayers[_configurationData.PlayerIds[i]].PlayerDetails =
             PlayersList.FirstOrDefault(m => m.Id == _configurationData.PlayerIndexes[i]);
     }
 }
        private void SetAutoRangeForHero(object obj)
        {
            if (_currentHandHistory == null || _currentHandHistory.Hero == null)
            {
                return;
            }

            var heroAutoHands = GetHeroAutoRange(_currentHandHistory.Hero.PlayerName);

            if (heroAutoHands != null)
            {
                var hero = PlayersList.FirstOrDefault(x => x.PlayerName == _currentHandHistory.Hero.PlayerName);

                if (hero != null)
                {
                    var opponentsCount = CountOpponents();

                    hero.SetRanges(heroAutoHands);
                    hero.CheckBluffToValueBetRatio(opponentsCount, SelectedStreet);
                }
            }
        }