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); }
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); } } }