Beispiel #1
0
        public List <BetterMatchMaking.Library.Data.Line> LoadCsv(string csvFile)
        {
            var parser = new BetterMatchMaking.Library.Data.CsvParser();

            parser.Read(csvFile);
            return(parser.DistinctCars);
        }
Beispiel #2
0
        public List <BetterMatchMaking.Library.Data.Line> LoadFromCode()
        {
            var parser = new BetterMatchMaking.Library.Data.CsvParser();


            parser.Add(1, 100, -92014, -92014, "Rebellion iRacing Team #White", 0);
            parser.Add(1, 100, -92014, 141847, "Mickael Lamoureux", 4697);
            parser.Add(1, 100, -92014, 293434, "Michael M Meier", 4465);

            parser.Add(1, 100, -86236, -86236, "Rebellion iRacing Team #Black", 0);
            parser.Add(1, 100, -86236, 221010, "Kelian Tocqueville", 4261);
            parser.Add(1, 100, -86236, 313425, "Cyril Deforge", 4047);
            parser.Add(1, 100, -86236, 329766, "Maxime Duval", 4047);

            parser.Add(1, 100, -112572, -112572, "Rebellion iRacing Team #Silver", 0);
            parser.Add(1, 100, -112572, 281664, "Sebastien Mallet", 3343);
            parser.Add(1, 100, -112572, 130898, "Cyril Gitzhoffer", 3342);
            parser.Add(1, 100, -112572, 337108, "Frédéric Paolino", 3057);

            parser.Add(1, 100, -121343, -121343, "Rebellion iRacing Team #Gold", 0);
            parser.Add(1, 100, -121343, 234038, "Xav Bourgeois", 3010);
            parser.Add(1, 100, -121343, 296447, "Dario Sullo", 2990);
            parser.Add(1, 100, -121343, 305737, "Nicolas Bellet", 2725);

            parser.Add(1, 100, -119057, -119057, "Rebellion iRacing Team #Special", 0);
            parser.Add(1, 100, -119057, 300677, "Alfonso Asenjo", 2457);
            parser.Add(1, 100, -119057, 301335, "Ruelle Franck", 2393);

            parser.Add(1, 100, -135485, -135485, "Rebellion iRacing Team #Special2", 0);
            parser.Add(1, 100, -135485, 335977, "Thomas Corriger", 2350);
            parser.Add(1, 100, -135485, 222457, "Sébastien Poidevin", 2158);
            parser.GroupDistinctCars(); // don't forget to call this method when your list is finished

            return(parser.DistinctCars);
        }
        public void Test(string csv)
        {
            // get fieldsize from file name
            int    fieldSize     = 0;
            string cst_fieldsize = "-fieldsize";

            if (csv.Contains(cst_fieldsize))
            {
                string strfieldsize = csv.Substring(
                    csv.IndexOf(cst_fieldsize) + cst_fieldsize.Length,
                    2
                    );
                Int32.TryParse(strfieldsize, out fieldSize);
            }
            // -->


            // read csv
            var parser = new BetterMatchMaking.Library.Data.CsvParser();

            parser.Read(csv);
            var entrylist = parser.DistinctCars;

            // -->



            // run algorithm

            BetterMatchMaking.Library.BetterMatchMakingCalculator calculator = new Library.BetterMatchMakingCalculator("SmartPredictedMoveDownAffineDistribution");
            for (int p = 5; p < 50; p++)
            {
                Console.WriteLine("");
                Console.WriteLine("------------------------------------");

                Console.WriteLine(new FileInfo(csv).Name);
                Console.WriteLine("Max Soff Diff = " + p);
                calculator.ParameterMinCarsValue                 = p;
                calculator.ParameterMaxSofDiffValue              = 17;
                calculator.ParameterMaxSofFunctStartingIRValue   = 2800;
                calculator.ParameterMaxSofFunctStartingThreshold = 18;
                calculator.ParameterMaxSofFunctExtraThresoldPerK = 11;
                calculator.ParameterTopSplitExceptionValue       = 0;
                calculator.ParameterNoMiddleClassesEmptyValue    = 0;
                calculator.ParameterRatingThresholdValue         = 1700;
                calculator.Compute(entrylist, fieldSize);
                var audit = calculator.GetAudit();
                Console.WriteLine(audit.ToString());
                Console.WriteLine("AverageSplitClassesSofDifference = " + audit.AverageSplitClassesSofDifference);
                Console.WriteLine("MinSplitSizePercent = " + audit.MinSplitSizePercent);
                if (!audit.Success)
                {
                    testsFailed++;
                }
                if (audit.MinSplitSizePercent < 0.5)
                {
                    testsSplitsDiff++;
                }
                if (audit.IROrderInconsistencySplits.Count > 0)
                {
                }
                diff.Add(audit.AverageSplitClassesSofDifference);
                tests++;
            }

            // -->
        }