Hallo Diosito,
habe mal so ein ähnliches Problem gehabt. Allerdings waren es bei mir immer nur 2 Fahrzeuge, aber vielleicht hilft es dir trotzdem ein wenig weiter....
Ich habe jedem Fahrzeug zwei Benutzerdefinierte Attribute (Objekt) gegeben, um auf das Andere zugreifen zu können. (z.B. Fahrzeug1 und Fahrzeug2)
Dann habe ich in der Init Methode jedem Fahrzeug das jeweils andere zugeordnet. Also etwa:
Weg.BE(1).Fahrzeug2:=Weg.BE(2);
Weg.BE(2).Fahrzeug1:=Weg.BE(1);
Weg.BE(1) ist bei Fahrzeug1 leer und Weg.BE(2) bei Fahrzeug2....
In der Auffahrmethode habe ich dann nachgeschaut, welches Fahrzeug aufgefahren ist:
if @.Fahrzeug1=void then --wenn das auffahrende Fahrzeug Fahrzeug1 ist, muss Fahrzeug2 manuell angehalten werden;
@.Fahrzeug2.anhalten;
@.Fahrzeug2.rueckwaerts:=true;
@.Fahrzeug2.fahren;
else @.Fahrzeug1.anhalten;
@.Fahrzeug1.rueckwaerts:=true;
@.Fahrzeug1.fahren; --sonst eben Fahrzeug1
end;
@.anhalten;
@.rueckwaerts:=true;
@.fahren; --zum Schluss eben noch das auffahrende Fahrzeug anhalten
Ist vielleicht etwas umständlich und funktioniert eben nur bei 2 Fahrzeugen, aber vielleicht hilft es dir ja ein wenig.....
Gruss Zifnab
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP