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 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 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 GetFlex(List <FootballPlayer> flexPlayers, Random rand) { while (true) { FootballPlayer flex = flexPlayers[rand.Next(0, flexPlayers.Count)]; if (!(RunningBacks.Contains(flex) || WideReceivers.Contains(flex))) { FLEXPlayer = flex; return; } } }