public static void Update() { for (int i = 0; i < Particules.Length; i++) { Particules[i].Acceleration = NouvellesAccelerations[i]; // On a aucun soucis car on manipule des Vector créés dans une structure Particules[i].Vitesse = NouvellesVitesses[i]; Particules[i].Position = NouvellesPositions[i]; } NouvellesAccelerations.Clear(); // = new List<Vector>(); NouvellesVitesses.Clear(); //= new List<Vector>(); NouvellesPositions.Clear(); //= new List<Vector>(); }
public static void CalculerEtatSuivant() { for (int i = 0; i < NombreParticulesInstanciees; i++) { if (Particules[i].Mobile) { List <int> Voisines = Particules[i].TrouverVoisines(); Vector Acceleration = Particules[i].CalculerAcceleration(Voisines); Tuple <Vector, Vector> PositionEtVitesse = Particules[i].CalculerPositionEtVitesse(Acceleration); NouvellesPositions.Add(PositionEtVitesse.Item1); NouvellesVitesses.Add(PositionEtVitesse.Item2); NouvellesAccelerations.Add(Acceleration); } else { NouvellesPositions.Add(Particules[i].Position); NouvellesVitesses.Add(new Vector(0, 0)); NouvellesAccelerations.Add(new Vector(0, 0)); } } }