Basierend auf der letzten Programmieraufgabe wird nun, passend zur Weihnachtszeit und vor allem Silvester, ein Feuerwerk implementiert. Hierzu wird die Aufgabe in mehrere Teilaufgaben zerlegt und schrittweise bearbeitet. Ähnlich, wie es bei einem Agilen Projektmanagement vielleicht der Fall wäre. Hier wird das Endprodukt auch erst in seine einzelne Bestandteile zerlegt und priorisiert (Backlog). Anschließend wird mit dem wichtigsten Element, welches in Teilschritte zerlegt wird, begonnen. Was wichtig ist, entscheidet zwar eigentlich der Product Owner, aber den gibt es hier nicht bzw. es ist fast alles gleich wichtig. Ich fange mit der Rakete an, da ich die „Flugphysik“ für die bunten Funken auch benötige.

Es ergäben sich daher wahrscheinlich folgende Schritte und damit die folgende…

Aufgabe

Programmiere ein Feuerwerk mit Hilfe von processing. Gehe dabei wie folgt vor:

  1. Rakete, die vom unteren Bildschirmrand starten (-> class Rockets)
  2. Buntes Explodieren der Rakete an einer beliebigen Stelle (->class Sparkles)
  3. Eine Rakete explodiert und wird durch „Sparkles“ ersetzt.
  4. Löschen nicht mehr benötigter „Rockets“ und „Sparkles“, um den Speicher nicht unnötig zu belasten.

Rockets und Sparkles können in ArrayListen verwaltet werden.

Am Ende ergibt sich ein solches Bild:

Ein bisschen Text. wie „Happy New Year“ kann man ja noch ergänzen. Oder man macht gleich einen explodierenden Text. Sozusagen als neue Aufgabe.

Lösung: Firework2d