Ich weis es wurden schon einige andere Themen mit gleichem Inhalt hier eröffnet, aber ich habe durch das lesen nicht mein Problem aufheben können.
Es geht um das Problem mit dem Überkreuzenden Bezug zweier Units.
Ich habe mehrere Units, die alle zusammen eine Simulation eines Stadtverkehrs (mit Ampeln, Kreuzungen und Strassen sowie Autos ergeben soll.) Nun stehe ich vor dem problem, dss die Autos an den Kreuzungen ordnungsgemäß abbiegen sollen.
Die beteiligten Units sind:
TKreuzung und TStrasse
Ich habe mir das so gedacht, dass die Kreuzung an bis zu 4 Strassen "angeschlossen" wird, und beim überfahrenwerden eines Autos dieses auf die umliegenden Strassen verteilt per random.
==> Dazu muss natürlich die Klasse TStrasse die Tkreuzung kennen, um ihr zu sagen "hier is schon wieder nen Auto für dich zum verteilen"... Nun muss die Kreuzung das Auto auf eine der drei anderen Strassen abschieben. Also muss auch diese Klasse die TStrasse kennen.
Nun hab ich allerdings überschneidende Bezüge
(Wir sollen noch nicht zwei Klassen in eine Unit reinstecken, sondern für jede Klasse eine machen)
Ich hab mir dafür eine Dreiecksbeziehung ausgedacht.
TStrasse kennt TKreuzung und übergibt dieser das Auto das diese dann auf die anderen Strassen verteilen soll.
Die TKreuzung kennt wieder eine TStrassenkreuzung die diese Strassen kennt und das per random abwickeln soll.
TStrassenkreuzung kennt 4 TStrassen von denen dann eine ausgewählt wird die das auto dann weiter folgt.
So hab ich das verstanden dass es funktionieren sollte. (In den anderen Foren) Aber es klappt trotzdem noch nicht, ich habe trotzdem einen überkreuzenden Bezug.
Blöderweise hab ich jetzt keine Ahnung woran das liegen könnte, deswegen wollt ich das hier mal erfragen. Hoffe es gibt eine unkomplizierte Lösung.
Delphi-Quelltext
1: 2: 3: 4:
| unit mKreuzung;
interface uses mSuM, mAuto, mAmpel ,mStrassenkreuzung; |
Delphi-Quelltext
1: 2: 3: 4:
| unit mStrassenkreuzung;
interface uses mAuto, mStrasse; |
Delphi-Quelltext
1: 2: 3: 4:
| unit mStrasse;
interface uses mSuM,math, mAuto, mKreuzung; |
Da müssten ja die Überkreuzende Beziehung enthalten sein.