internal Dictionary<string, WinData> GetSelfWinRates() { Dictionary<string, MatchupRawData> selfRawData = new Dictionary<string, MatchupRawData>(); foreach (long matchID in selfResults.Keys) { if (!selfRawData.ContainsKey(champNames[matchesChamp[matchID]])) { selfRawData[champNames[matchesChamp[matchID]]] = new MatchupRawData(INITIAL_WINS, INITIAL_GAMES); } selfRawData[champNames[matchesChamp[matchID]]] = new MatchupRawData( selfResults[matchID].Win ? selfRawData[champNames[matchesChamp[matchID]]].Wins + 1 : selfRawData[champNames[matchesChamp[matchID]]].Wins, selfRawData[champNames[matchesChamp[matchID]]].Games + 1); } Dictionary<string, WinData> selfWinData = new Dictionary<string, WinData>(); foreach (string champ in selfRawData.Keys) { selfWinData[champ] = new WinData( Convert.ToDouble(selfRawData[champ].Wins) / selfRawData[champ].Games, selfRawData[champ].Games); } return selfWinData; }
private void TallyRaw(string selfChamp, string enemyChamp, bool win) { if (!matchupStats.ContainsKey(selfChamp)) { matchupStats[selfChamp] = new Dictionary<string, MatchupRawData>(); } if (!matchupStats[selfChamp].ContainsKey(enemyChamp)) { matchupStats[selfChamp][enemyChamp] = new MatchupRawData(INITIAL_WINS, INITIAL_GAMES); } matchupStats[selfChamp][enemyChamp] = new MatchupRawData( win ? matchupStats[selfChamp][enemyChamp].Wins + INCREMENT : matchupStats[selfChamp][enemyChamp].Wins, matchupStats[selfChamp][enemyChamp].Games + INCREMENT); }