public void paint(Graphics e) { GrilleSimulation.paint(e); if (MaVoiture != null) { MaVoiture.paint(e); } foreach (Parcours parcours in ListeParcours) { parcours.paint(e); } }
public void runParcours(int temps) { double speed = MaVoiture.update(temps, GrilleSimulation); deplaceVoiture(MaVoiture, speed); foreach (Parcours parcours in ListeParcours) { //mouvement des voitures string ParcoursDirection = parcours.getDirection(); Voiture voitureTerminee = null; foreach (Voiture voiture in parcours.ListeVoitures) { deplaceVoiture(voiture, (double)parcours.Vitesse); //si atteint la fin, disparait if ((Math.Abs(voiture.CoordonneeX - parcours.XDebut) + Math.Abs(voiture.CoordonneeX - parcours.XFin)) > Math.Abs(parcours.XFin - parcours.XDebut)) { voitureTerminee = voiture; } else if ((Math.Abs(voiture.CoordonneeY - parcours.YDebut) + Math.Abs(voiture.CoordonneeY - parcours.YFin)) > Math.Abs(parcours.YFin - parcours.YDebut)) { voitureTerminee = voiture; } } if (voitureTerminee != null) { parcours.ListeVoitures.Remove(voitureTerminee); } //Ajout des voitures int tempsAjuste = temps - parcours.Phase; if (tempsAjuste >= 0) { if (tempsAjuste % (parcours.Periode) == 0) { parcours.ListeVoitures.Add(new Voiture(parcours.XDebut, parcours.YDebut, GrilleSimulation.TailleCellules, ParcoursDirection)); } } } }