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

            for (int positionIndex = 0; positionIndex < Data.NumberOfDrivers; positionIndex++)
            {
                if (this.NumberOfResults[positionIndex] != other.NumberOfResults[positionIndex])
                {
                    return(this.NumberOfResults[positionIndex] - other.NumberOfResults[positionIndex]);
                }
            }
            return(0);
        }
 public override void SetupStatistics()
 {
     DriverStats     = new FinishingPositionChampionshipElement[Data.NumberOfDrivers];
     TeamStats       = new FinishingPositionChampionshipElement[Data.NumberOfDrivers / 2];
     ComparisonStats = new FinishingPositionChampionshipElement[Data.NumberOfDrivers];
 }