Zum Inhalt

Spiele programmieren mit Scratch

Scratch

Erste Begegnung

Die Oberfläche besteht aus zwei Teilen: Links kannst du programmieren, rechts siehst du auf der Bühne das, was du programmiert hast.

In der Menüleiste kannst du dein Programm speichern oder ein gespeichertes Programm öffnen.

Der Programmierbereich besteht aus drei Tabs

  1. Skripte
  2. Kostüme
  3. Klänge

Unter Kostüme kannst du die grafische Oberfläche (GUI) deiner Figuren (Objekte) bearbeiten. Unten links kannst du ganz andere Grafiken hinzufügen. Eine Figur kann aus mehreren Kostümen bestehen, sie kann z.B. verschiedene Fußstellungen haben, damit es nachher so aussieht, als ob sie laufen würde. Die Grundeinstellungen einer Figur wie z.B. ihren Name kann man rechts ändern.

Unter Skripte findet man alles, was man zum Programmieren benutzen kann.

Katze speichern

Gib deiner Katze einen Namen und speichere das Projekt ab, damit du siehst, was du die nächste Zeit ab und zu machen solltest, damit nichts verloren geht.

Bewegungen, Aussehen, Klang

Klicke auf die Anweisungs-Blöcke unter

  • Bewegungen
  • Aussehen
  • Klang

und beobachte, was du dadurch mit der Katze machst.

Ereignisse

Beim Drücken der Leertaste soll dein Programm beginnen, beim anklicken der Fahne soll alles auf die Ausgangsposition zurück gesetzt werden.

Firefox-Einstellung ändern

Damit Firefox beim Tippen von Buchstaben nicht anfängt, Seitentext zu suchen, muss man diese Funktion in den Einstellungen des Firefox deaktivieren:

Einstellungen/Allgemein/Surfen/Beim Tippen automatisch im Seitentext suchen (ganz unten)

Zeichnen und Zurücksetzen

Füge das Ereignis für die Leertaste hinzu und hänge Anweisungsblöcke so dran, dass die Katze eine farbige Spur hinterlässt (z.B. ein Rechteck oder ein gleichseitiges Dreieck). Dazu musst du unten links die Erweiterung Malstift hinzufügen.

Füge das Ereignis Fahne hinzu und hänge Anweisungsblöcke so dran, dass wieder alles in der Ausgangsposition ist, also z.B. "gehe zu x: 0 y: 0".

Lösung

Steuerung

In diese Blöcke können mehrere Blöcke eingefügt werden, sie werden dann größer. Die wichtigsten sind

  • wiederhole x mal
  • wiederhole fortlaufend
  • falls x, dann ... sonst

Die ersten beiden nennt man in der Informatik Schleifen, das letzte eine Verzweigung mit Bedingung.

Übungen zu Schleifen

Quadrat

Lass die Katze mit nur vier Blöcken ein Quadrat zeichnen.

Lösung

Vier Quadrate

Verwende einen weiteren wiederholen-Block, um 10 Quadrate nebeneinander zu zeichnen.

Lösung

Kreis

Lass die Katze einen "Kreis" zeichnen, indem du sie oft ein bisschen drehst. Verwende dazu eine Schleife und dein Wissen darum, dass der Innenwinkel eines Kreises 360° beträgt.

Lösung

Übungen zu Verzweigungen

Bei einer falls-Anweisung brauchst du eine Bedingung. Glücklicherweise sind die Objekte in Scratch nicht gefühlskalt, sie können Fühlen, z.B. kann die Katze fühlen, wann sie den Rand berührt:

Kostümwechsel

Lasse deine Figur immer zwischen den Rändern hin und her laufen. Bei jedem Mausklick, soll sie ihr Kostüm wechseln.

Lösung

Farbige Quadrate

Lasse deine Figur immer zwischen den Rändern hin und her laufen. Wenn sie in der rechten Bühnenhälfte ist, soll sie in blau pinkeln, wenn sie in der linken Bühnenhälfte ist, soll sie in einer anderen Farbe pinkeln.

Tipp: Für die Bedingungen musst du zunächst überlegen, woran man erkennen kann, dass deine Figur rechts oder links ist (Koordinatensystem!). Du findest unter den Operatoren einen Block, bei dem du die x-Position deiner Figur einfügen kannst.

Lösung

Bühnenbild

Unten rechts kannst du dein Programm um zwei graphische Elemente: weitere Figuren und weitere Bühnenbilder erweitern.

Straße malen

Klicke unten rechts auf Bühnenbild wählen und dann auf Malen. Male das folgende Spielsetting.

Auto und Katze

Bringe der Katze laufen bei: Mit verschiedenen Ereignissen (Tastendrücke) soll sie in verschiedene Richtungen laufen.

Lasse ein Auto in einer Unendlichschleife von links nach rechts fahren. Dazu brauchst du eine Falls-Anweisung abhängig von der x-Position des Autos.

Variablen

Du kannst dein Spiel so programmieren, dass das Auto schneller wird, sobald die Katze den oberen Rand berührt. Dazu verwendest du am besten eine Variable statt deiner Zahl, die du für die Schrittweite, z.B. 10, gesetzt hast. Oder du veränderst die Geschwindigkeit durch einen Tastendruck.

Dazu klickst du auf Variablen und dort auf Neue Variable. Ich habe sie geschwindigkeit genannt. Damit die Geschwindigkeit nicht 0 ist (Standardwert), musst du ihr am Anfang mit dem Block setze ... auf eine Zahl zuweisen (initialisieren).

Punkte

Erstelle eine neue Variable für deinen Punktestand. Der Punktestand soll sich immer erhöhen, wenn die Katze den oberen Rand berührt.

Reaktion auf andere Objekte

Wenn du zwei Objekte aufeinander reagieren lassen willst, also z.B. die Katze ein neues Kostüm bekommen soll, wenn sie in das Auto läuft, hast du zwei Möglichkeiten:

Wenn die Figur, die reagieren soll, die aktive Figur ist, kannst du den normalen Fühlen-Block wird ... berührt verwenden.

Wenn eine Berührung bei anderen oder mehreren Figuren eine Reaktion auslösen soll, brauchst du den Ereignis-Block mit den Nachrichten:

Level 2 oder Game Over

Lasse die Katze in ein weiteres Level aufsteigen, wenn sie den oberen Rand berührt, z.B. mit einem neuen Bühnenbild oder mehreren Autos. Wenn sie ihre, sagen wir drei, Leben verspielt hat, weil sie zu oft vom Auto überfahren wurde, kommt ein Bühnenbild mit "Game Over".

Weiteres Spiel

Programmiere jetzt ein neues Spiel, so wie es dir gefällt. Du kannst jetzt statt einer Straße etwas anderes malen, z.B. einen Sternenhimmel. Und statt Autos andere Objekte nehmen, auch mehrere. Und statt von links nach rechts, bewegen sich die Sterne von oben nach unten, und immer wenn ein Stern berührt wird, gibt es Punkte und der Stern verschwindet. Oder du kannst ein Pong-Spiel programmieren, mit einem Balken, den du mit den Pfeiltasten steuerst...