Einstieg - Steuerung der Ampel
Objekte zur Steuerung
Die Steuerung der Ampeln wurde bisher manuell durch Anklicken der entsprechenden Objektsymbole vorgenommen. Wie bei einer realen Ampelanlage soll diese Steuerung jetzt automatisiert durchgeführt werden. Wir erzeugen hierzu neue Objekte, die genau für diese Aufgabe zuständig sind. Im Bühnenfenster sind diese neuen Objekte bereits zu sehen. Sie werden auf der Bühne durch die Rechtecksymbole (als black box) dargestellt.
Das Objekt steuerung_ampel_auto
soll für die Steuerung der Autoampel zuständig sein.
Mit der Operation starten
soll das Durchlaufen eines Ampelzyklus veranlasst werden.
Am Ende dieses Zyklus soll dann die Kontrolle über das Ampelsystem an das Objekt
steuerung_ampel_fussgaenger
übergeben werden.
Objekte zur Datenverwaltung
Beachte, dass die Dauer der jeweiligen Ampelphasen vom Objekt ampel_auto
verwaltet werden.
Für diesen Zweck wurde das bisher benutzte Objekt ampel_auto
um weitere Attribute und um eine
weitere Operation erweitert.
Das Objekt ampel_auto
ist somit für die Verwaltung sämtlicher Daten zuständig,
die zur Beschreibung der Autoampel benötigt werden.
Objekt zur Gesamtkontrolle
Jetzt muss nur noch festgelegt werden, welches Objekt dafür zuständig ist, das gesamte Ampelsystem in Gang zu setzen.
Wir übertragen dem Objekt Bühne
diese Zuständigkeit.
Objekte zur visuellen Darstellung der Ampeln
Nichts verändert werden muss an den Objekten rot_auto
etc., die die Lampen der Ampeln im
Bühnenfenster darstellen.
Aufgabe 1
Probier diese Erweiterung des bisherigen Systems selbst einmal aus. Entwickle auch das noch fehlende Objekt zur Steuerung der Fußgängerampel.
Aufgabe 2
Jedes Objekt des gesamten entwickelten Systems ist für bestimmte Aufgaben zuständig.
Warum ist diese Vorgehensweise, ein System aus Objekten mit klar umgrenzten Zuständigkeiten zu entwickeln, besonders
günstig?
Betrachte hierzu die Situation, dass man Änderungen am Ampelsystem vornehmen will:
Welche Objekte müsste man abändern, wenn man auf eine französische Ampel
(mit dem Ampelphasen rot - grün - gelb) umstellen wollte?
Welche Objekte müsste man abändern, wenn man die Länge der Ampelphasen umstellen wollte?
Welche Objekte müsste man abändern, wenn man das Aussehen der Ampel verändern wollte?
Welche Objekte müsste man abändern, wenn man Ampeln auch manuell durch einen Mausklick neu starten können soll?