Über dieses Übungsblatt
In diesem Übungsblatt werden nun einige Features auf das Grundgerüst der letzten Woche gebaut.
Hinweise zur Abgabe. Bitte geben Sie alle notwendigen Dateien ab, um Ihr Programm zu kompilieren. D.h. C++ Quellcode-Dateien (*.cpp/*.h), Konsole (insbesondere, wenn diese modifiziert wird), CMakeLists.txt oder *.pro Datei.
Aufgabe Benutzer-Interaktion
Letzte Änderung: 07. June 2021, 11:32 Uhr
8 Punkte — im Detail
Ansicht: | In dieser Aufgabe soll unsere Simulation ein interaktives Element bekommen. Machen Sie sich dazu mit der Methode getPressedKey() der Konsolenbibliothek vertraut, falls Sie diese nutzen.
1 . Zunächst möchten wir unsere Simulation auf Knopfdruck steuern können. Dies ist insbesondere nützlich um das Programm zu debuggen. Implementieren Sie folgende Features:
- bei Drücken der Taste 's' (start/stop) soll die Simulation gestartet bzw. gestoppt werden.
- bei Drücken der Taste 'n' (next frame) soll der nächste Simulationsschritt angezeigt werden (nur sinnvoll in Verbindung mit der Pause-Funktion).
- bei Drücken der Taste 'r' (reset) soll die Simulation in den Anfangszustand versetzt werden.
2 . Nun möchten wir die Simulation in verschiedenen Geschwindikeiten betrachten können. Implementieren Sie folgendes Features:
- bei Drücken der Taste 'v' (velocity) kann der Benutzer eine von drei Wiedergabegeschwindigkeiten der Simulation wählen (langsam / mittel / schnell)
Alle Features müssen selbstverständlich angezeigt werden, damit der Benutzer von ihnen Kentniss erhält. Dies kann ganz einfach mit der Methode writeString(...) der Konsolenbibliothek geschehen.
Bonus: Für ein weiteres, selbst ausgedachtes interaktives Feature werden bis zu 5 Bonuspunkte vergeben. Bitte dokumentieren Sie das Feature in einer "Bonusfeature.txt" Textdatei.
Aufgabe Features
Letzte Änderung: 07. June 2021, 11:32 Uhr
12 Punkte — im Detail
Ansicht: | Wir möchten jetzt unsere Simulation etwas aufpeppen. Implementieren sie jeweils drei Features, falls sie die Bewegungssimulation gewählt haben oder zwei Features, falls sie die Verkehrssimulation gewählt haben aus der entsprechenden Liste.
Bewegungssimulation
- Neuer Akteur: Eine zufällige Richtung würfeln und 5 Schritte lang in diese Richtung laufen, danach neu würfeln und wiederholen
- Neuer Akteur: Einem anderen Objekt vom Typ
behavior
folgen - Definieren Sie ein Feld, an denen Personen aus der Simulation verschwinden
- "wrap-around"-Verhalten des Spielfeldes, also z.B. "links rein, rechts raus"
- Busse (zum Beispiel indem Sie mehrere Autos „hintereinander herfahren“ lassen)
- Ampeln (wie in der Animation in Blatt07a gezeigt, warten die Autos an zwei Kreuzungen, bis sie fahren dürfen.)
- Straßen mit "wrap-around"-Verhalten, also z.B. "links rein, rechts raus"
Bonus: Für ein weiteres, selbst ausgedachtes statisches Feature werden bis zu 5 Bonuspunkte vergeben. Bitte dokumentieren Sie das Feature in einer "Bonusfeature.txt" Textdatei.