public static List <BasketballPlayer> SetUpNBAPlayers(string filepath) { var players = FileBuilder.BuildNBAPlayers(filepath); players = players.Where(p => p.ProjectedCSV != null && p.PPGAvgCSV != null && p.PPGFloorCSV != null && p.PPGMaxCSV != null && p.PointsPerMinuteCSV != null && p.TotalMinutesCSV != null).ToList(); players.ForEach(p => { p.PPGAvg = Convert.ToDouble(p.PPGAvg); p.PPGMax = Convert.ToDouble(p.PPGMaxCSV); p.PPGFloor = Convert.ToDouble(p.PPGFloorCSV); p.PreProjected = Convert.ToDouble(p.ProjectedCSV); p.PointsPerMinute = Convert.ToDouble(p.PointsPerMinuteCSV); p.TotalMinutes = Convert.ToDouble(p.TotalMinutesCSV); }); return(players); }
private void Optimize() { NFLCombinations combinations = new NFLCombinations(Players, Config); List <NFLLineup> topLineups = new List <NFLLineup>(); int writeNumber = 0; int loopNum = 0; while (true) { Console.WriteLine("\nGenerating Lineups..."); for (int i = 0; i < LineupsToGenerate; i++) { topLineups.Add(combinations.GetLineup()); } topLineups = SortLineups(topLineups); FileBuilder.WriteTopNFLLineups(topLineups, Config); for (int i = 4; i >= 0; i--) { Console.WriteLine(FileBuilder.BuildNFLLineupString(topLineups[i], i + 1)); } writeNumber++; loopNum++; Console.WriteLine($"Duplicated Lineups: {DuplicatedLineups}"); Console.WriteLine($"Writes till optimization: {Config.WTNR - writeNumber}"); Console.WriteLine($"Lineups Generated: {loopNum}0 Million"); if (writeNumber >= Config.WTNR) { Console.WriteLine("Optimizing Lineups..."); combinations.OptimizeCombinations(topLineups); writeNumber = 0; } } }
public static List <FootballPlayer> SetUpNFLPlayers(string filepath) { var players = FileBuilder.BuildNFLPlayers(filepath); return(players); }