private void BuildInitialPositionLists(List <FootballPlayer> players) { foreach (var player in players) { switch (player.Position) { case "qb": Quarterbacks.Add(player); break; case "rb": RunningBacks.Add(player); TopRunningBacks.Add(player); FLEX.Add(player); break; case "wr": WideReceivers.Add(player); TopWideReceivers.Add(player); FLEX.Add(player); break; case "te": TightEnds.Add(player); FLEX.Add(player); break; } } }
public void AnalyseQuarterbacks(string season, string week) { var totYdp = 0; foreach (var p in Quarterbacks) { if (p.IsQuarterback()) { // how many yards string passYardage = Utility.TflWs.PlayerStats( Constants.K_STATCODE_PASSING_YARDS, season, week, p.PlayerCode); p.TotStats = new PlayerStats(); int passYds = 0; if (!int.TryParse(passYardage, out passYds)) { passYds = 0; } p.TotStats.YDp = passYds; totYdp += passYds; } } if (totYdp > 0) // not bye wk { var compareByYdp = new Comparison <NFLPlayer>(ComparePlayersByYdp); Quarterbacks.Sort(compareByYdp); DumpUnitByPassingYardage(totYdp); } else { Utility.Announce(string.Format("{0}:{1} is a bye week for {2}", season, week, TeamCode)); } }
public void GenerateProjections(double Average) { List <FootballPlayer> teamPlayers = new List <FootballPlayer>(); teamPlayers.AddRange(Quarterbacks); teamPlayers.AddRange(RunningBacks); teamPlayers.AddRange(WideReceivers); teamPlayers.AddRange(TightEnds); double multiplier = (ImpliedScore - Average) / 60; double qbScore = Quarterbacks.Sum(s => s.PreProjected); double rbScore = RunningBacks.Sum(s => s.PreProjected); double wrScore = WideReceivers.Sum(s => s.PreProjected); double teScore = TightEnds.Sum(s => s.PreProjected); TeamTotalPoints = qbScore + rbScore + wrScore + teScore; double homeMultiplier = isHome ? 0.02 : 0; foreach (var player in teamPlayers) { double projectedAverage = player.PreProjected; double percentOfTeam = projectedAverage / TeamTotalPoints + .25; double playerMultiplier = homeMultiplier + (multiplier * percentOfTeam) + (percentOfTeam * player.DVPMultiplier) + 1; player.Projected = playerMultiplier * projectedAverage; player.PricePerPoint = player.Salary / player.Projected; } }
public void CanAddQuarterbacks() { var roster = new Roster(); var qbsToAdd = new List <Quarterback> { new Quarterback { FirstName = "Robert", LastName = "Griffin", TeamName = "Washington Redskins" }, new Quarterback { FirstName = "Kirk", LastName = "Cousins", TeamName = "Washington Redskins" }, new Quarterback { FirstName = "Rex", LastName = "Grossman", TeamName = "Washington Redskins" }, new Quarterback { FirstName = "Pat", LastName = "White", TeamName = "Washington Redskins" } }; var quarterbacks = new Quarterbacks(qbsToAdd); roster.ChangeQuarterbacks(quarterbacks); Assert.AreEqual(quarterbacks, roster.Quarterbacks); }
public void SetImpliedScore(double score) { ImpliedScore = score; Quarterbacks.ForEach(s => s.ImpliedScore = score); RunningBacks.ForEach(s => s.ImpliedScore = score); WideReceivers.ForEach(s => s.ImpliedScore = score); TightEnds.ForEach(s => s.ImpliedScore = score); }
public void Add(NFLPlayer player, string playerCat) { if (playerCat == Constants.K_QUARTERBACK_CAT) { Quarterbacks.Add(player); } else { Receivers.Add(player); } }
public void CanAddQuarterbacks() { var roster = new Roster(); var qbsToAdd = new List<Quarterback> { new Quarterback {FirstName = "Robert", LastName = "Griffin", TeamName = "Washington Redskins"}, new Quarterback {FirstName = "Kirk", LastName = "Cousins", TeamName = "Washington Redskins"}, new Quarterback {FirstName = "Rex", LastName = "Grossman", TeamName = "Washington Redskins"}, new Quarterback {FirstName = "Pat", LastName = "White", TeamName = "Washington Redskins"} }; var quarterbacks = new Quarterbacks(qbsToAdd); roster.ChangeQuarterbacks(quarterbacks); Assert.AreEqual(quarterbacks, roster.Quarterbacks); }
public void OptimizeCombinations(List <NFLLineup> lineups) { Console.WriteLine("Before Optimiaztion"); DisplayCombinations(); Quarterbacks.Clear(); TopRunningBacks.Clear(); TopWideReceivers.Clear(); TightEnds.Clear(); foreach (var lineup in lineups) { if (!Quarterbacks.Contains(lineup.Quarterback)) { Quarterbacks.Add(lineup.Quarterback); } if (!TightEnds.Contains(lineup.TightEnd)) { TightEnds.Add(lineup.TightEnd); } foreach (var player in lineup.WideReceivers) { if (!TopWideReceivers.Contains(player)) { TopWideReceivers.Add(player); } } foreach (var player in lineup.RunningBacks) { if (!TopRunningBacks.Contains(player)) { TopRunningBacks.Add(player); } } } Console.WriteLine("After Optimaztion"); BuildCombinations(); }
public void ChangeQuarterbacks(Quarterbacks quarterbacks) { Quarterbacks = quarterbacks; }