Class Fahrbahn
- java.lang.Object
-
- Ereignisbehandlung
-
- Fahrbahn
-
class Fahrbahn extends Ereignisbehandlung
Verwaltet die Fahrzeuge auf einer Fahrbahn.- Version:
- V1.0
- Author:
- Albert Wiedemann
-
-
Field Summary
Fields Modifier and Type Field Description private Ampel
ampel
zuständige Ampelprivate FahrbahnSymbol
darstellung
Darstellungssymbolprivate int
ende
ende-Positionprivate ArrayList<Fahrzeug>
fahrzeuge
die Fahrzeugeprivate int
rand
rand-Positionprivate int
start
start-Positionprivate int
wartezeit
Wartezeit zur nächsten Fahrzeugerzeugungprivate int
x
x-Positionprivate int
y
y-Position
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
FahrzeuganzahlGeben()
Ausgabe der Fahrzeuganzahl(package private) void
FahrzeugeBewegen()
Bewegt alle Fahrzeuge der Fahrbahn für eine Sekunde.(package private) void
FahrzeugEinreihen(Fahrzeug f)
Reiht ein neues Fahrzeug an der Startposition in die Fahrbahn ein.private Fahrzeug
FahrzeugErzeugen()
Erzeugt eine zufällige Farbe für das Fahrzeugprivate boolean
IstDraussen(Fahrzeug f)
Ermittelt, ob ein Fahrzeug entfernt werden muss(package private) void
PositionSetzen(int x, int y)
Setzt die Position der Fahrbahn.(package private) void
TaktImpulsAusführen()
Fährt die Fahrzeuge und erzeugt gegebenenfalls ein neues Fahrzeug.private boolean
VorgängerZählt(int ampelabstand, int vorgängerabstand, Fahrzeug f)
Ermittelt, ob das Fahrzeug sich nach dem Vorgänger richten oder die Ampel beachten muss.-
Methods inherited from class Ereignisbehandlung
Anhalten, MausGeklickt, SonderTasteGedrückt, Starten, TaktdauerSetzen, TasteGedrückt
-
-
-
-
Field Detail
-
x
private int x
x-Position
-
y
private int y
y-Position
-
start
private int start
start-Position
-
ende
private int ende
ende-Position
-
rand
private int rand
rand-Position
-
wartezeit
private int wartezeit
Wartezeit zur nächsten Fahrzeugerzeugung
-
darstellung
private FahrbahnSymbol darstellung
Darstellungssymbol
-
ampel
private Ampel ampel
zuständige Ampel
-
-
Constructor Detail
-
Fahrbahn
Fahrbahn(Ampel a, int x, int y)
Erzeugt eine leere Fahrbahn ab dem linken Rand unterhalb der Fenstermitte.- Parameters:
a
- für diese Richtung zuständige Ampelx
- x-Koordinate der Fahrbahny
- y-Koordinate der Fahrbahn
-
-
Method Detail
-
FahrzeugEinreihen
void FahrzeugEinreihen(Fahrzeug f)
Reiht ein neues Fahrzeug an der Startposition in die Fahrbahn ein.- Parameters:
f
- das neue Fahrzeug
-
IstDraussen
private boolean IstDraussen(Fahrzeug f)
Ermittelt, ob ein Fahrzeug entfernt werden muss- Parameters:
f
- das in Frage kommende Fahrzeug
-
VorgängerZählt
private boolean VorgängerZählt(int ampelabstand, int vorgängerabstand, Fahrzeug f)
Ermittelt, ob das Fahrzeug sich nach dem Vorgänger richten oder die Ampel beachten muss.- Parameters:
ampelabstand
- Abstand zur Ampel (Haltelinie)vorgängerabstand
- Abstand zum Vorgängerfahrzeugf
- das aktuelle Fahrzeug- Returns:
- true, wenn der Vorgänger wichtig ist, false, wenn die Ampel zählt
-
FahrzeugeBewegen
void FahrzeugeBewegen()
Bewegt alle Fahrzeuge der Fahrbahn für eine Sekunde.
-
PositionSetzen
void PositionSetzen(int x, int y)
Setzt die Position der Fahrbahn.- Parameters:
x
- x-Positiony
- y-Position
-
FahrzeuganzahlGeben
int FahrzeuganzahlGeben()
Ausgabe der Fahrzeuganzahl- Returns:
- Anzahl der Fahrzeuge auf der Fahrbahn
-
FahrzeugErzeugen
private Fahrzeug FahrzeugErzeugen()
Erzeugt eine zufällige Farbe für das Fahrzeug
-
TaktImpulsAusführen
void TaktImpulsAusführen()
Fährt die Fahrzeuge und erzeugt gegebenenfalls ein neues Fahrzeug.- Overrides:
TaktImpulsAusführen
in classEreignisbehandlung
-
-