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.
Achtung: Die Kraft bedeutet NICHT, wie viele Kästchen die Bewegung sein soll.
Zum Beispiel:
hinauf 150
rechts 200
Klicke zum Programmieren auf den Bot (hier ein Puck)!
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.
Das große Fressen
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.
Schleifen
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!
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.
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 !
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:
sage "Los geht's!"
wiederhole 1 sekunde rechts 0
sage "Eine Sekunde ist schnell vergangen."
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.
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.
Verzweigungen
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!" )
else alert ("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.)
Ich bin
ein Schalter!
Abb. 5
ich bin ein schalter
Bist du
eingeschaltet?
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.
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 : Noch eine schwere Expertenfrage:
Was ist der Unterschied zwischen diesen beiden Befehlen? wiederhole 3 sekunden sage schaltwert von element 5 sage schaltwert von element 5
Wende deine neuen Fähigkeiten jetzt an!
Erstelle ein eigenes Spiel mit interessanten NPCs! Öffne die Game-Engine GamBu und wende in den Gambu-Scripts der NPCs alles an, was du gelernt hast!
Hacks und Tricks
Syntax
Beispiel
Anmerkung
sage "Ein beliebiger Text"
sage "Halli Hallo"
Der Bot sagt: „Halli Hallo” in einer Sprechblase.
sage ""
Die Sprechblase verschwindet.
hinauf 100
Der Bot bewegt sich mit Kraft 100 nach oben.
hinunter 0.5
0.5 ist eine sehr kleine Kraft hinunter.
links 50
50 ist eine etwas kleinere Kraft als 100 nach links.
rechts 10
10 als Kraft nach rechts ist auch möglich.
wiederhole x sekunden [Befehl]
wiederhole 10 sekunden hinauf 1
Der Bot bewegt sich 10 Sekunden lang langsam nach oben.
wiederhole x mal [Befehl]
wiederhole 3 mal hinunter 200
3 Frames hintereinander beschleunigt der Bot sehr stark nach unten.
ich bin ein schalter
Der Bot verwandelt sich in einen Schalter.
schaltwert von element 1
Wenn das Element 1 eingeschaltet ist, ist der Schaltwert 1 sonst 0.
wenn [Bedingung wahr ist] dann [Befehl]
wenn schaltwert von element 35 = 1 dann sage "eingeschaltet!"
Falls in dem Moment, wenn das Script bei diesem Befehl ist, der Schalter eingeschaltet ist, dann sagt der Bot "eingeschaltet!".
wenn [Bedingung wahr ist] dann [Befehl] sonst [anderer Befehl]
wenn schaltwert von element 35 = 1 dann sage "eingeschaltet!" sonst sage "ausgeschaltet"
Der Teil „sonst [anderer Befehl]“ kann auch weggelassen werden.
Download Hacks und Tricks
Mitwirkende
Inhalt
Daten werden geladen...
Digitalisierung
Illustration
Mithilfe
Letzte Änderung
04.09.2023
Aufgaben und Übungen
nach Schwierigkeit filtern
leicht
mittel
schwer
Die Online-Aufgaben können nur eingeloggte User*innen verwenden. Dafür brauchen Sie eine Lizenz für SchuBu+
Informationen zu SchuBu+
1.1.5.a
Meine Lösung prüfen
später prüfen
Ganze Aufgabe unfertig abgeben
Später abgeben
Juhu!
Du hast alle Aufgaben abgeschlossen.
Dein Ergebnis:
Genug für heute
Oje!
Das ist leider nicht ganz richtig.
Noch einmal versuchen
Bravo!
Deine Lösung ist richtig.
Nächste Aufgabe
Bild-Quelle: