Computerbefehle für Programme sind in Programmiersprache verfasst, damit der Computer auch versteht, was man ihm befiehlt. Mithilfe der Scriptsprache GamBu-Script machen Schüler*innen erste Schritte beim Programmieren. Sie schreiben Schleifen, Verzweigungen und Schalter für Spiele und können ihre Arbeit in der Game-Engine austesten.
Arbeitsmittel
Arbeitsblatt
Info für Lehrende
Eingeloggte Lehrer*innen werden hier durch Unterrichtsvorschläge und Zusatzinformationen zur Seite und zu Lernzielen unterstützt. Mehr zu SchuBu+
Ablauf
Ein Computerprogramm ist eine haargenaue Anleitung für einen Computer, was er tun soll.
Jedes Programm hat einen Programmstart und dann eine genaue Reihenfolge von Befehlen.
Diese Computerbefehle sind in Programmiersprache verfasst, damit er auch versteht, was man ihm befiehlt.
Abb. 1
Sprachenlernen zahlt sich aus.
Das folgende Programm ist in der Programmiersprache Java-Script verfasst.
Sortiere die Befehle so, dass sie ein sinnvolles Programm ergeben!
elsedocument.write("Nö");
if (antwort == "eine künstliche Intelligenz") document.write("Richtig! Du bist fast so intelligent wie ich.");
varantwort = prompt("Falls ich intelligent wäre, was wäre ich dann?");
Geschichte des Programmierens
Die ersten Programme waren oft eine lange Liste von Befehlen hintereinander.
Im folgenden SchuBuch-Text erfährt man mehr über die Geschichte des Programmierens:
Im SchuBuch hast du vieles darüber gelesen, wie sich das Programmieren historisch entwickelt hat.
Schaffst du es, die wichtigsten Entwicklungsschritte richtig in den Zeitstrahl einzuordnen?
GamBu-Script
GamBu-Script ist die Scriptsprache, mit der man Spielelemente in der SchuBu-Game-Engine GamBu programmieren kann.
Für jedes runde Element in der GamBu-Game-Engine, also , , , und , kann man ein Script schreiben, das bestimmt, was das Element kann, macht und wie es reagiert.
Scriptsprachen sind Programmiersprachen, mit denen meist nur Teile von Programmen gesteuert werden.
+ Script = Bot
Alles in GamBu-Script wird kleingeschrieben.
Ein Befehl lautet zum Beispiel:
bei berührung sage "Autsch!" (In Anführungszeichen darf auch großgeschrieben werden.)
Bei Berührung sage: „Autsch!“ würde also nicht funktionieren.
Wenn alle Texturen, Bilder und Grafiken von dir selbst erstellt, gemalt oder gezeichnet worden sind, dann stehen sie bei einer Veröffentlichung automatisch unter CC BY-ND. Außer den selbst gemachten dürfen auch Grafiken enthalten sein, die ausdrücklich OHNE NAMENSNENNUNG frei verwendbar sind, dann stehen alle Grafiken, auch deine eigenen, nach Veröffentlichung unter CC0.
Die Texturen sollten genau 62 x 62 Pixel groß sein
Wenn alle Musikstücke und Geräusche von dir selbst erstellt, gesungen, gespielt und komponiert worden sind, dann stehen sie bei einer Veröffentlichung automatisch unter CC BY-ND. Außer den selbst gemachten dürfen auch Sounds enthalten sein, die ausdrücklich OHNE NAMENSNENNUNG frei verwendbar sind, dann stehen alle Sounds, auch deine eigenen, nach Veröffentlichung unter CC0.
Spiel veröffentlichen
Abb. 2
bei berührung sage "Autsch!"
Schreibe ein erstes GamBu-Script! Programmiere den Puck am Eis so, dass er automatisch durch eine Lücke findet und das Netz trifft! Verwende dazu folgende Befehle:
hinauf x
hinunter x
links x
rechts x
Das x ist die Kraft. Bei 1 bewegt sich der Puck sehr wenig, bei 100 viel stärker in die angegebene Richtung. 150 ist die maximal mögliche Kraft.
Achtung: Die Kraft bedeutet NICHT, wie viele Kästchen die Bewegung sein soll.
Zum Beispiel:
hinauf 30
links 10
Klicke zum Programmieren auf den Bot (hier ein Puck)!
Info für Lehrende
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Bereitet euch auf ein Klassenturnier vor! Am Ende der nächsten Seite wird es ein Spiel geben, wo die Maus gewinnt, die am meisten Käse gefressen hat.
Alle in der Klasse schreiben ein Script für eine Maus.
Die Mäuse-Bots treten dann gegeneinander an.
Wer am schlauesten programmiert, gewinnt das Spiel.
Die genauen Turnierregeln finden sich am Ende der nächsten Seite.
Schreibe ein erstes Script für eine der Mäuse auf dem Turnierfeld!
Die programmierte Maus soll einen Käse fressen.
Kopiere dein Script zum Spaß auch in das Scriptfenster der zweiten Maus, damit beide loslaufen! Im Turnier wird das Script für die zweite Maus dann von einer Klassenkollegin oder einem Klassenkollegen stammen.
Info für Lehrende
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Lange Programme sind kompliziert. Sie werden vom Menschen geschrieben, müssen aber zugleich für Computer verständlich sein.
Deshalb klingen sie oft seltsam und man muss sich genau an ihre Regeln halten.
Eine praktische Anforderung an alle Programmiersprachen ist zum Beispiel:
Wenn sich etwas Gleiches oft wiederholt, wie schreibt man das?
In Programmiersprachen gibt es dafür mehrere Möglichkeiten, eine davon sind Schleifen.
Dabei wird ein Teil des Programms immer wieder neu ausgeführt, also wiederholt.
In GamBu-Script werden Schleifen deshalb Wiederholung genannt. Es gibt zwei Arten:
wiederhole x sekunden [Befehl]
oder
wiederhole x mal [Befehl]
Zum Beispiel könnte ein GamBu-Script so lauten:
rechts 100
wiederhole 100 mal links 1
Der Bot würde mit Kraft 100 nach rechts düsen, dann aber langsam hundertmal hintereinander ein bisschen zurück nach links fahren.
Probier es aus! Klicke auf die Maus und kopiere das Beispiel-Script in das Script-Eingabe-Fenster!
Info für Lehrende
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Schaffst du es das Script so zu verändern, dass die Maus den Käse frisst? (Du musst das Spiel reloaden.)
Schleifen in Scratch
Info für Lehrende
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Scratch ist eine einfache, visuelle Programmiersprache, mit der junge Menschen digitale Geschichten, Spiele und Animationen erstellen können.
Der Vorteil ist, dass die Community sehr groß ist, deshalb wird man leicht Hilfe und Informationen finden.
Der Nachteil gegenüber GamBu ist, dass es viel schwieriger ist, mit Scratch ein fertiges lustiges Spiel zu erfinden.
Die GamBu-Game-Engine ist dagegen selbst wie ein Spiel.
Zum Vergleich sieht eine ähnliche Schleife wie die oben in Scratch so aus:
Programmiere die Maus so, dass sie automatisch zum Käse läuft und ihn frisst!
Info für Lehrende
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
EXPERTENFRAGE: Obwohl immer eine Programmierzeile nach der anderen ausgeführt wird:
Wieso bewegt sich die Maus bei diesem Script schräg nach oben und nicht zuerst nach oben und dann nach rechts?
hinauf 100
rechts 100
Wenn man will, dass zuerst nur ein Befehl und erst später ein anderer Befehl ausgeführt wird, muss man Schleifen verwenden. Wenn man zum Beispiel warten möchte, bis ein GamBu-Script später weitergeht, könnte man diesen Trick verwenden:
Verwende Schleifen zur Bewegung! Klicke auf die Maus und schreibe ein Script, dass die Maus zuerst nach oben und dann nach rechts geht, um sicher den Käse zu erreichen!
Du findest eine Liste der wichtigsten Befehle im Scriptfenster rechts.
Info für Lehrende
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Programmierte Geräte sollen uns Arbeit abnehmen. Dazu gehört, dass sie selbst Entscheidungen treffen können.
Wie formuliert man eigenständige Entscheidungen von Programmen?
Eine Möglichkeit in Programmiersprachen sind bedingte Anweisungen, sogenannte Verzweigungen.
Der Programmablauf muss an einer solchen Stelle entscheiden, ob ein Befehl ausgeführt wird oder nicht.
Eine Anweisung oder ein Programmabschnitt wird nur unter einer ganz bestimmten Bedingung ausgeführt.
Abb. 3
wenn [ja], dann [heiraten]
Abb. 4
sonst [weinen]
In GamBu-Script schreibt man eine Verzweigung so:
wenn [Bedingung erfüllt] dann [Befehl] sonst [anderer Befehl]
zum Beispiel:
wenn name = "Martin" dann sage "Hallo Martin!" sonst sage "Hallo?"
In Scratch würde der Befehl so aussehen:
In der Sprache Java-Script sieht eine Verzweigung folgendermaßen aus:
if (name == "Martin") alert("Hallo Martin!")
elsealert("Hallo?")
Im GamBu-Script-Beispiel oben hat der Bot „Hallo Martin!” gesagt. Bots können reden!
sage [text in Anführungszeichen]
Dieser praktische Befehl zeigt den Text, den der Bot sagen soll, in einer Sprechblase an.
Wenn man eine Sprechblase wieder wegkriegen möchte, dann lässt man den Bot einfach nichts sagen:
sage ""
Schalter
In der GamBu-Game-Engine gibt es einen mächtigen Baustein für Spiele, den Schalter.
Spielfiguren können Schalter ein- oder ausschalten, um Türen zu öffnen, magische Dinge zu entdecken, Überraschungen zu erleben oder Bots zu aktivieren.
Schalter sind gute Bauteile für Rätsel.
Auch im Turnier „Das große Fressen” spielen Schalter eine wichtige Rolle.
Schalter sind nur für Spieleautoren und Spieleautorinnen zugänglich, die programmieren können:
Einen Schalter erstellt man nämlich so:
Man platziert einen Ball dorthin, wo der Schalter im Spiel dann sein soll.
Man klickt auf den Ball, um das Scriptfenster zu öffnen.
In das Script schreibt man den Befehl:
Zum Erstellen eines Schalters:
ich bin ein schalter
und zum Auslesen, ob ein Schalter ein oder aus ist:
schaltwert von element n
n ist die Nummer des Schalters. (Man sieht die Nummern aller Elemente immer, wenn man ein Scriptfenster öffnet.)
Abb. 5
ich bin ein schalter
Abb. 6
schaltwert von element 5 = 1
Ein Schalter wird ein- oder ausgeschaltet, wenn ihn ein Spielcharakter in GamBu berührt: Der Schaltwert von einem Element kann entweder 0 oder 1 sein. 1 wenn der Schalter eingeschaltet ist und 0 wenn er ausgeschaltet ist.
EXPERTENFRAGE
Was passiert bei diesem GamBu-Script? wiederhole 10 sekunden sage schaltwert von element 1
Programmiere die Schlangen-Leibwächter der Käferpräsidentin so, dass sie höflich und artig, genau dann, wenn die Maus den Schalter betätigt, nach oben und unten weggehen!
Ziel ist es, dass die Maus den Käfer frisst.
TIPP: Beachte, dass du wiederholt den Schaltwert überprüfen musst, um zu erfahren, ob er irgendwann von der Maus gedrückt wird!
Die obere Schlange musst also in einer Schleife folgende Bedingung immer wieder überprüfen:
wenn schaltwert von element 1 = 1 dann hinauf 1
Die Nummern der Elemente sieht man, sobald man ein Scriptfenster öffnet.
Info für Lehrende
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.
Mit SchuBu+ erhalten Lehrer*innen hier kontextbezogene Zusatzinformationen, wie Lösungsvorschläge und Tipps für den Unterricht.