Example #1
0
        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;
                }
            }
        }
Example #2
0
        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;
            }
        }
Example #4
0
        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);
        }
Example #6
0
 public void Add(NFLPlayer player, string playerCat)
 {
     if (playerCat == Constants.K_QUARTERBACK_CAT)
     {
         Quarterbacks.Add(player);
     }
     else
     {
         Receivers.Add(player);
     }
 }
Example #7
0
        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);
        }
Example #8
0
        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();
        }
Example #9
0
 public void ChangeQuarterbacks(Quarterbacks quarterbacks)
 {
     Quarterbacks = quarterbacks;
 }
Example #10
0
 public void ChangeQuarterbacks(Quarterbacks quarterbacks)
 {
     Quarterbacks = quarterbacks;
 }