### Verschachtelte Verzweigungen/Alternativen ###

Nachdem Peetie einige Missiles aufgesammelt hat, heißt es endlich: Feuer frei!!!

Whoaaaa….!!!! Was ist denn hier los? Die Aliens beschießen Peetie! Sind offensichtlich doch nicht so freundlich, wie Dr. Andy White immer rumerzählt.

Zum Glück liegen hier Raketen rum, die Peetie einsammeln kann. Da Peetie ein Angsthase ist, müssen wir die Raketen von der Erde aus abfeuern, und zwar mit der Taste e. Eine Rakete kann aber natürlich nur abgefeuert werden, wenn Peetie bereits Raketen aufgesammelt hat. Es müssen also nacheinander zwei Bedingungen geprüft werden. So geht das:

Verzweigungen verschachteln

Unser Problem könnte man sprachlich so beschreiben:

  1. Prüfe, ob die Taste e gedrückt ist.
  2. --> Falls ja: Prüfe, ob Peetie Raketen hat.

Wir prüfen also die zweite Bedingung nur dann, wenn die erste wahr ist. Übersichtlicher wird es in dieser Darstellung:

In Scratch schieben wir einfach zwei falls-Verzweigungen ineinander:

Das eigentliche Abfeuern einer Rakete funktioniert dann durch Aufruf des Unterprogramms raketeAbfeuern:

Mission 50: Raketen abfeuern

Okay, das müsstest du jetzt hinkriegen! Du ergänzt einfach das Unterprogramm checkRaketentaste:

Programmiere bei Peetie, wie oben gezeigt, das Abfeuern der Rakete. Außerdem soll die Anzahl der Raketen bei Peetie natürlich reduziert werden, sobald eine Rakete abgefeuert wurde (Variable: Anzahl_Raketen)!

Du kannst Peetie mit w, a, s, d steuern, um Raketen und Batteriezellen einzusammeln.

Los geht's! [Scratch-Szenario in neuem Fenster öffnen]

Lösungsvorschlag (kommt im Jahr 2037)

Mission 51: Durch die Schlucht

Die Aliens befinden sich wahrscheinlich auf der anderen Seite einer Schlucht. General A. Spirin hat den Befehl gegeben,  Peetie durch die Schlucht zu schicken. Die Aliens (wer sonst sollte es gewesen sein?) haben dort Bomben hinterlassen, die Peetie natürlich nicht berühren darf.

Weil Peetie Angst davor hat, müssen wir ihn mit einem Programm ausstatten, mit dem er automatisch durch die Schlucht geleitet wird. Wenn sich eine Bombe auf seinem Weg befindet, soll er diese mit einer Rakete zerstören.

Einer der Programmierer hat schon mal die grobe Struktur im Programm festgehalten, wie man das Problem lösen kann:

Setze das Programm im folgenden Projekt um. Schau den nächsten Tipp nur an, wenn du wirklich nicht klar kommst.

Im folgenden Struktogramm ist genauer festgehalten, wie das Programm arbeitet. Wenn du es damit nicht hinbekommst, ist die Situation ernst. Setze dich sofort mit deiner Mission Control in Verbindung!!

Los geht's! [Scratch-Szenario in neuem Fenster öffnen]

Lösungsvorschlag (kommt im Jahr 2037)

----

Episode 5: Alle Missionen als PDF (ältere Version - wird vielleicht irgendwann aktualisiert)