Class Kreuzung
- java.lang.Object
-
- Kreuzung
-
- All Implemented Interfaces:
StatistikErzeuger
,TaktKlient
class Kreuzung extends Object implements TaktKlient, StatistikErzeuger
-
-
Field Summary
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
Abmelden(StatistikKlient klient)
Abmelden beim Erzeuger(package private) void
FahrzeugabstandSetzen(int zeit)
Setzt die mittlere Wartezeit zwischen 2 Fahrzeugen(package private) Fahrzeug
FahrzeugGenerieren()
Erzeugt ein neues Fahrzeugvoid
Registrieren(StatistikKlient klient)
Registrierung beim Erzeugervoid
TaktImpulsAusführen()
Empfängt die Impulse des Taktgebers Sie schaltet die Ampeln weiter und erzeugt und bewegt die Fahrzeuge.private int
WartezeitGenerieren()
Erzeugt eine zufällige Wartezeit mit großer Wahrscheinlichkeit in der Mittevoid
Weiterschalten()
Schaltet die Phase entprechend der beim Attribut Phase angegebenen Reihenfolge weiter.
-
-
-
Field Detail
-
phase
int phase
Das Attribut Phase beschreibt welche Verkehrsströme innerhalb der Ampel freigegeben bzw.gesperrt sind; nur die Werte 1 bis 8 sind erlaubt.
1: in Ost/West Richtung: KfZ: grün | Fussgänger grün
in Nord/Süd Richtung: KfZ: rot | Fussgänger rot
2: in Ost/West Richtung: KfZ: grün | Fussgänger rot
in Nord/Süd Richtung: KfZ: rot | Fussgänger rot
3: in Ost/West Richtung: KfZ: gelb | Fussgänger rot
in Nord/Süd Richtung: KfZ: rot | Fussgänger rot
4: in Ost/West Richtung: KfZ: rot | Fussgänger rot
in Nord/Süd Richtung: KfZ: rotgelb | Fussgänger grün
5: in Ost/West Richtung: KfZ: rot | Fussgänger rot
in Nord/Süd Richtung: KfZ: grün | Fussgänger grün
6: in Ost/West Richtung: KfZ: rot | Fussgänger rot
in Nord/Süd Richtung: KfZ: grün | Fussgänger rot
7: in Ost/West Richtung: KfZ: rot | Fussgänger rot
in Nord/Süd Richtung: KfZ: gelb | Fussgänger rot
8: in Ost/West Richtung: KfZ: rotgelb | Fussgänger grün
in Nord/Süd Richtung: KfZ: rot | Fussgänger rot
-
wartezeitAmpel
private int wartezeitAmpel
-
wartezeitKurz
private int wartezeitKurz
-
wartezeitLang
private int wartezeitLang
-
wartezeitFahrzeugNachOst
private int wartezeitFahrzeugNachOst
-
wartezeitFahrzeugNachWest
private int wartezeitFahrzeugNachWest
-
wartezeitFahrzeugNachNord
private int wartezeitFahrzeugNachNord
-
wartezeitFahrzeugNachSüd
private int wartezeitFahrzeugNachSüd
-
mittlereWartezeit
private int mittlereWartezeit
-
zzgenerator
private Random zzgenerator
-
maxlaenge
private int maxlaenge
-
maxdurchschnitt
private float maxdurchschnitt
-
klienten
private ArrayList<StatistikKlient> klienten
-
ampelNord
private Ampel ampelNord
-
ampelOst
private Ampel ampelOst
-
ampelSüd
private Ampel ampelSüd
-
ampelWest
private Ampel ampelWest
-
fgAmpelNord1
private FussgaengerAmpel fgAmpelNord1
-
fgAmpelNord2
private FussgaengerAmpel fgAmpelNord2
-
fgAmpelOst1
private FussgaengerAmpel fgAmpelOst1
-
fgAmpelOst2
private FussgaengerAmpel fgAmpelOst2
-
fgAmpelSüd1
private FussgaengerAmpel fgAmpelSüd1
-
fgAmpelSüd2
private FussgaengerAmpel fgAmpelSüd2
-
fgAmpelWest1
private FussgaengerAmpel fgAmpelWest1
-
fgAmpelWest2
private FussgaengerAmpel fgAmpelWest2
-
nachOst
private Fahrbahn nachOst
-
nachWest
private Fahrbahn nachWest
-
nachNord
private Fahrbahn nachNord
-
nachSüd
private Fahrbahn nachSüd
-
-
Constructor Detail
-
Kreuzung
public Kreuzung(TaktGeber taktgeber)
Erzeugt die vier Ampeln, positioniert sie um den Ursprung und setzt die Lichtsignale so, dass eine Grünphase in Ost/West Richtung und gleichzeitig der Rotphase in Nord/Süd Richtung vorliegt.- Parameters:
taktgeber
- der Taktgeber für die Kreuzung
-
-
Method Detail
-
Weiterschalten
public void Weiterschalten()
Schaltet die Phase entprechend der beim Attribut Phase angegebenen Reihenfolge weiter.
-
WartezeitGenerieren
private int WartezeitGenerieren()
Erzeugt eine zufällige Wartezeit mit großer Wahrscheinlichkeit in der Mitte- Returns:
- die erzeugte Wartezeit
-
FahrzeugGenerieren
Fahrzeug FahrzeugGenerieren()
Erzeugt ein neues Fahrzeug- Returns:
- das neue Fahrzeug
-
TaktImpulsAusführen
public void TaktImpulsAusführen()
Empfängt die Impulse des Taktgebers Sie schaltet die Ampeln weiter und erzeugt und bewegt die Fahrzeuge.- Specified by:
TaktImpulsAusführen
in interfaceTaktKlient
-
FahrzeugabstandSetzen
void FahrzeugabstandSetzen(int zeit)
Setzt die mittlere Wartezeit zwischen 2 Fahrzeugen- Parameters:
zeit
- mittlere Wartezeit
-
Registrieren
public void Registrieren(StatistikKlient klient)
Registrierung beim Erzeuger- Specified by:
Registrieren
in interfaceStatistikErzeuger
- Parameters:
klient
- neuer Klient
-
Abmelden
public void Abmelden(StatistikKlient klient)
Abmelden beim Erzeuger- Specified by:
Abmelden
in interfaceStatistikErzeuger
- Parameters:
klient
- abzumeldender Klient
-
-