public override void InitialiseStatistics()
 {
     for (int driverIndex = 0; driverIndex < Data.NumberOfDrivers; driverIndex++)
     {
         DriverStats[driverIndex]     = new ChampionshipDataElement(driverIndex);
         ComparisonStats[driverIndex] = new ChampionshipDataElement(driverIndex);
     }
     for (int teamIndex = 0; teamIndex < Data.NumberOfDrivers / 2; teamIndex++)
     {
         TeamStats[teamIndex] = new ChampionshipDataElement(teamIndex);
     }
 }
        public override float CompareByPercentage(IStatisticElement element)
        {
            ChampionshipDataElement other = (ChampionshipDataElement)element;

            if (this.Percentage != other.Percentage)
            {
                return(this.Percentage - other.Percentage);
            }
            else
            {
                return(CompareByValue(element));
            }
        }
        public override float CompareByValue(IStatisticElement element)
        {
            ChampionshipDataElement other = (ChampionshipDataElement)element;

            if (this.Points != other.Points)
            {
                return(this.Points - other.Points);
            }
            else
            {
                return(base.CompareByValue(element));
            }
        }
 public override void SetupStatistics()
 {
     DriverStats     = new ChampionshipDataElement[Data.NumberOfDrivers];
     TeamStats       = new ChampionshipDataElement[Data.NumberOfDrivers / 2];
     ComparisonStats = new ChampionshipDataElement[Data.NumberOfDrivers];
 }