예제 #1
0
        public static int DureePositionDansSecteur(Voiture voiture, Secteur secteur, int posit)
        {
            int duree = 0;

            if (secteur.PointInit <= posit && posit <= secteur.PointFin)
            {
                int distance = posit - secteur.PointInit;
                duree = 100 * distance / voiture.Vitesse;
            }

            return(duree);
        }
예제 #2
0
 public static void SaveCourseVoiture(Voiture voiture)
 {
     try
     {
         dao.Save(voiture);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }
예제 #3
0
        public static int DureeAvecRavitailler(int distRavit, int pointRavit, Voiture voiture, List <Secteur> secteurs)
        {
            int dureeA = 0;
            int ravits = DureeRavitailler(distRavit);

            foreach (var secteur in secteurs)
            {
                dureeA += DureeSecteur(voiture, secteur);
                if (secteur.PointInit <= pointRavit && pointRavit <= secteur.PointFin)
                {
                    dureeA += DureePositionDansSecteur(voiture, secteur, pointRavit) + ravits;
                    break;
                }
            }

            return(dureeA + ravits);
        }
예제 #4
0
        public static int DureeTotalRavitailler(Voiture voiture, List <Secteur> secteur, int distRavit, int pointRavit,
                                                int nbTours)
        {
            int sansR  = DureeTotalSecteurSansRavit(voiture, secteur);
            int avecR  = DureeAvecRavitailler(distRavit, pointRavit, voiture, secteur);
            int totals = 0;

            for (int i = 0; i <= nbTours; i++)
            {
                if (nbTours == i + 2)
                {
                    totals += avecR;
                    break;
                }

                totals += sansR;
            }

            return(totals);
        }