Peeties Speicher wurde beim Aufprall schwer beschädigt. Er kann sich nicht mal mehr ein paar Zahlen merken …
Weil der Mars-Staub Peeties Räder beschädigen kann, müssen diese regelmäßig gereinigt werden. General A. Spirin fordert deshalb von der Programmierabteilung, dass Peetie die Schritte mitzählt, die er zurückgelegt hat.
Wie können wir uns was merken?
Was wir also tun müssen: Wir müssen uns etwas merken. Dafür verwendet man in der Programmierung Variablen. Man kann sich eine Variable wie einen Behälter vorstellen, in dem man einen Wert aufbewahren kann. Im Beispiel oben hätten wir also einen Behälter namens anzahlSchritte
, in dem immer die Anzahl der getanen Schritte gespeichert sind.
Um mit Variablen zu arbeiten, müssen wir Folgendes tun:
1. Schritt: Deklaration
Man muss eine Variable zuerst deklarieren. Das heißt: Man muss dem Computer erstmal erklären (vgl. das englische Wort declare), dass man eine Variable verwenden möchte. Der Computer reserviert dann Speicherplatz für diese Variable.
In Scratch geht das so:
Profi-Programmierer verwenden für den Namen der Variablen übrigens nie Umlaute, Sonderzeichen oder Leerzeichen!
Falsch: größe Spielfeld
Richtig: groesseSpielfeld
2. Schritt: Initialisierung
Initialisierung bedeutet: Einen Startwert zuweisen. Am besten, wir gewöhnen uns daran, Variablen möglichst früh einen Initialwert zuzuweisen. Das vermeidet eine Menge Ärger!
Später dann: Wertzuweisung
Wenn man in einer Variable einen neuen Wert speichert, nennt man das Wertzuweisung. Im folgenden Beispiel erhöhen wir den Wert der Variablen anzahlSchritte, indem wir diese um 1 nach oben zählen:
Damit weisen wir der Variablen anzahlSchritte als Wert (anzahlSchritte + 1) zu. Merke: Die Wertzuweisung erfolgt immer von rechts nach links (das, was rechts steht, wird der linken Seite zugewiesen).
In Variablen speichern wir unter einem Namen (z.B. anzahlSchritte
) einen Wert (z.B. 15). Wir müssen drei Schritte kennen:
- Zuerst müssen wir die Variable deklarieren = dem Programm sagen, dass es die Variable gibt und wie sie heißt.
- Dann müssen wir die Variable initialisieren = ihr erstmalig einen Wert zuweisen.
- Sobald wir diesen Wert verändern wollen (das kann mehrmals geschehen), müssen wir eine Wertzuweisung vornehmen, z.B.
anzahlSchritte = anzahlSchritte + 1
Mit dem neuen Wissen können wir PEETIE jetzt neu programmieren, indem wir eine Variable verwenden!
Mission 20: Schritte zählen
Erstelle eine Variable anzahlSchritte und zähle jeden Schritt mit. Am Ende sagt Peetie die Anzahl der gemachten Schritte:
Wenn eine Figur in Scratch etwas "sagt", wird das als Sprechblase angezeigt. Entweder wird etwas für einige Sekunden gesagt (und das Skript so lange unterbrochen), oder die Sprechblase wird dauerhaft angezeigt, bis die Figur verschwindet oder etwas anderes sagt.
Du kannst in Scratch mit dem "verbinde"-Block Variablen und Text verbinden:
Lass dir auf deiner Bühne Variablen anzeigen, indem du das Häkchen ancheckst:
Los geht's! [Scratch-Szenario in neuem Fenster öffnen]
Mission 21: Schritte und Batterien zählen
Verdammt! Der Server ist abgeraucht und die Programmierer haben kein Backup gemacht! Aber wie es so schön heißt: Kein Backup, kein Mitleid.
Überhaupt war das letzte Programm nicht vollständig. Denn wir müssen nicht nur die Schritte zählen, sondern auch die eingesammelten Batterien. Zum Glück geht das ja schnell einzubauen.
Zähle alle Schritte und alle gesammelten Batterien. Die Schritte zählst du bei Peetie, die Batterien bei Battery. Am Ende sagt Peetie die Anzahl der gemachten Schritte und der gesammelten Batterien.
- Deklariere zwei Variablen, in denen du die Anzahl der Schritte und die Anzahl der eingesammelten Batterien speicherst.
- Initialisiere die Variablen mit 0. Such dir eine gute Stelle aus (es gibt viele mögliche Stellen!).
- Zähle die Variablen hoch - am besten immer genau dann, wenn ein Schritt gemacht oder eine Batterie eingesammelt wird
Beachte, dass du die Batterien-Variable im Sprite Battery hochzählst!
Jetzt müssen wir mit mehreren Verbinde-Blöcken arbeiten. Wir verbinden "Schritte: " und den Wert der Variablen, dann verbinden wir ", Batterien: " und den Wert der entsprechenden Variablen, und schließlich verbinden wir diese beiden Blöcke.
Los geht's! [Scratch-Szenario in neuem Fenster öffnen]
Mission 22: Kosmischer Sturm
Der Mars scheint in einen kosmischen Sturm geraten zu sein - Peetie ist außer Kontrolle. Wir können nichts tun, als ihn überwachen! Soll heißen: Wir zählen, wie oft er an den Rand gedonnert ist, wie viele Batterien er gesammelt hat und wie oft er sich bewegt hat. Das macht uns dann vielleicht die Reparatur einfacher.
Ergänze Peeties Programm, indem du die im Struktogramm farbig markierten Anweisungen einfügst.
Du kannst noch nicht mit Verzweigungen umgehen ("Rand berührt?"). Aber du kriegst das schon hin. Überlege auf jeden Fall, an welcher Stelle die Wertzuweisungen sinnvoll sind, damit die Variablen richtig hochgezählt werden!
Los geht's! [Scratch-Szenario in neuem Fenster öffnen]
----
Episode 2: Alle Missionen als PDF (ältere Version - wird vielleicht irgendwann aktualisiert)