Spezifikation der Semesterarbeit: Teil 2

24.07.2017 06:31 Uhr

Einfache Graphikprogrammierung

Die Semesterarbeit muss bis zum 15. September 2017 über WoMS eingereicht werden.

Achtung!

  • Teil 2 ist von allen Studierenden zu bearbeiten.
  • Beachten Sie bitte unbedingt die Seite, die die Wertung der Semesterarbeit beschreibt und dort insbesondere auch die Regelung für die Berücksichtigung nicht abgegebener Hausaufgaben!

 

Hintergrund

Ausgehend vom gemeinsam realisierten Projekt mit einem bewegten Objekt, wird ein Programm gesucht, das mehrere Objekte unabhängig voneinander bewegt. Dazu wird vorausgesetzt, dass Sie http://qt-project.org/doc/ zum Aufsuchen fehlender Details verwenden.

Basisaufgabe

  1. Auf einer entsprechend großen Zeichenfläche werden zwei Rechtecke mit Ihren linken oberen Ecken an den Koordinaten (25, 25) und (1450, 325) gezeichnet. Zudem wird ein Kreis in der Mitte des Bildschirms generiert. Das ergibt in etwa die relativen Positionen der beiden Quadrate sowie des Kreises auf der folgenden Skizze:
  2. Eines der Quadrate beginnt sich bei Anklicken einen Startbuttons nach oben, das andere nach unten, zu bewegen. Der Kreis bewegt sich hingegen von links nach rechts über die Zeichenfläche.
  3. Dabei folgt jedes der zwei Quadrate solange seiner Richtung, bis es sich um 500 Pixel von seinem jeweiligen Ausgangspunkt entfernt hat. Wird eine Entfernung von 500 Pixeln erreicht, so kehr sich die Bewegungsrichtung des jeweiligen Quadrates um.
  4. Die Bewegung des Kreises setzt sich so lange fort, bis dieser ein Ende des Bildschirms erreicht. Geschieht dies, so beginnt der Kreis seine Bewegung erneut von der Mitte des Bildschirms aus.
  5. Die drei Objekte haben dabei unterschiedliche Geschwindigkeiten, wobei das erste Quadrat seine Position um vier Pixel pro Zeiteinheit ändert, das zweite um acht und der Kreis um sechzehn
  6. Die Objekte sind mit den Farben rot, grün, blau gefüllt und haben jeweils einen schwarzen Umriss mit einer Linienstärke von drei Pixeln.
  7. Ein Button „Start“ setzt alles in Bewegung, ein Button „Stop“ stoppt alle drei Objekte.
  8. Ein Button „Speichern“ speichert die aktuelle Situation genau so, dass
  9. durch einen Button „Laden“ die Bewegungen an der selben Stelle wiederaufgenommen werden. Gespeichert / geladen muss die gesamte Anwendung werden! Es müssen also alle Objekte an der jeweils letzten Stelle wieder erscheinen und bei den Aufgabenstellungen II bis IV sich ergebende zusätzliche Eigenschaften der Quadrate wieder hergestellt werden.

 

Stufe I: Genügend

Realisierung der Basisaufgabe, wie oben beschrieben.

Stufe II: Befriedigend

Die Basisaufgabe wird realisiert wie oben. Zusätzlich springen die Farben alle Objekte, also der Quadrate sowie des Kreises, von „Rot, Grün, Blau“ zu „Grün, Blau, Rot“ sobald sich der Kreis einem der Quadrate auf 100 Pixel annähert und wieder zurück zu „Rot, Grün, Blau“, sobald die Beiden sich wieder weiter als 100 Pixel voneinander entfernen.

Stufe III: Gut

Zusätzlich: Nähert sich der Kreis einem Quadrat soweit an, dass sie sich berühren würden, kehren diese Beiden ihre Bewegungsrichtung um, bewegen sich also wieder voneinander weg (bis sie wieder miteinander kollidieren).

Stufe IV: Sehr gut

Der Kreis bewegt sich nichtmehr auf einer horizontalen Bahn über den Bildschirm, sondern ändert seine Laufbahn wenn er mit einem Quadrat kollidiert. Durch das Verwenden der Cosinusfunktion, (http://www.cplusplus.com/reference/cmath/cos/) wird ein Wert generiert, in dessen Winkeln sich der Kreis nun auch auf der Y-Achse durch das Bildschirmfeld bewegt. Erreicht der Kreis dabei den Rand des Bildschirms, so kehrt er seine Y-Bewegung im selben Winkel um. Dadurch kann eine Bewegung wie in der folgenden Skizze entstehen: