Class Kreuzung

    • 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
      • ampelNord

        private Ampel ampelNord
      • ampelOst

        private Ampel ampelOst
      • ampelSüd

        private Ampel ampelSüd
      • ampelWest

        private Ampel ampelWest
    • 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 interface TaktKlient
      • FahrzeugabstandSetzen

        void FahrzeugabstandSetzen​(int zeit)
        Setzt die mittlere Wartezeit zwischen 2 Fahrzeugen
        Parameters:
        zeit - mittlere Wartezeit