Пример #1
0
        public static double EstimatedAccountWN8(IExpectedValueList expectedValueList, string version, WinrateRecord[] winrateRecords, Statistics cumulatedStats)
        {
            Dictionary <int, ExpectedValues> expectedValues = expectedValueList[version];
            ExpectedValues cumulatedExpected = new ExpectedValues();

            foreach (var winrateRecord in winrateRecords)
            {
                if (expectedValues.TryGetValue(winrateRecord.TankID, out ExpectedValues values))
                {
                    cumulatedExpected += values * winrateRecord.Battles;
                }
            }
            cumulatedExpected /= cumulatedStats.Battles;
            return(cumulatedStats.CalculateWN8(cumulatedExpected));
        }
Пример #2
0
        public static double AccountWN8(Dictionary <int, ExpectedValues> expectedValues, Dictionary <int, Statistics> tankStats, out Statistics cumulatedStats)
        {
            cumulatedStats = new Statistics();
            ExpectedValues cumulatedExpected = new ExpectedValues();

            foreach (var pair in tankStats)
            {
                if (expectedValues.TryGetValue(pair.Key, out ExpectedValues values))
                {
                    cumulatedExpected += values * pair.Value.Battles;
                    cumulatedStats    += pair.Value;
                }
            }
            cumulatedExpected /= cumulatedStats.Battles;
            return(cumulatedStats.CalculateWN8(cumulatedExpected));
        }