Für Schülerinnen und Schüler – zum Selberausprobieren
Mit der Mausefalle lernst du, wie man eine Maus per Computer-Code steuert. Du schreibst Befehle – und die Maus macht genau das, was dort steht: sie läuft, dreht sich, frisst Käse und trägt Weizen ins Nest.
Stell dir eine kleine Geschichte vor: Die Maus ist hungrig und sammelt Käse. Auf dem Weg liegen Steine, die sie nicht durchlaufen kann. Und Vorsicht – mitten im Haus versteckt sich eine Mausefalle! Zum Schluss trägt die Maus Weizen ins Nest, damit sie den Winter gut übersteht.
Du brauchst kein Computer-Vorwissen zum Anfangen – einfach Buchstaben tippen und ausprobieren!
Die Symbole im Spiel
Bevor es losgeht, hier die Zeichen, die du auf dem Spielfeld triffst. So erkennst du gleich, was wo liegt:
Maus (mit Pfeil)
Die Maus, die du steuerst. Der Pfeil zeigt, wohin sie gerade schaut. Sie steht immer auf dem blau markierten Feld.
Käse
Futter für die Maus. Mit eatCheese() wird er aufgegessen.
Stein
Ein Hindernis. Die Maus kann nicht hindurchlaufen.
Mausefalle
Gefährlich! Wer drauftritt, verliert (Game Over).
Weizen
Winter-Vorrat. Mit takeWheat() aufnehmen.
Nest
Zuhause der Maus. Hier den Weizen mit dropWheat() ablegen.
1. So geht's los
Oben siehst du drei Reiter (Knöpfe):
| Reiter | Was ist da? |
|---|---|
| Spielen | Hier schreibst du deinen Code und siehst die Maus laufen. |
| Level erstellen | Baue dein eigenes Spielfeld mit Fallen, Käse & Co. |
| Hilfe | Alle Befehle, Sensoren und Tasten auf einem Blick. |
Klicke einfach auf einen Reiter, um ihn zu öffnen. Am Anfang bleiben wir ganz im Reiter Spielen.
2. Schritt 1: Laufen und Drehen
Die Maus kann drei Dinge, die sie braucht, um vorwärtszukommen:
| Befehl | Wirkung |
|---|---|
move() | Maus geht 1 Feld in Blickrichtung |
turnLeft() | Maus dreht sich nach links |
turnRight() | Maus dreht sich nach rechts |
Dein erstes Programm
- Klicke auf Spielen.
- Schreibe in das große Feld (links) diesen Code:
move() move() turnRight() move()
- Drücke Strg + Eingabe (gleichzeitig) – oder den grünen ▶-Knopf.
- Die Maus läuft los! Unten im Ausgabebereich steht, was passiert.
So liest du den Code:
move()= „gehe ein Feld weiter".turnRight()= „dreh dich nach rechts".
Spielt die Maus nicht, wie du willst? Kein Problem – ändere den Code und drücke nochmal Strg + Eingabe. Beim Programmieren lernt man durch Ausprobieren!
3. Schritt 2: Käse fressen
Wenn die Maus auf einem Käsefeld steht, kann sie den Käse essen.
| Befehl | Wirkung |
|---|---|
eatCheese() | Maus isst den Käse auf dem Feld |
Erweitere dein Programm einfach um eine Zeile:
move() move() turnRight() move() eatCheese()
Oben rechts im Spielfeld steht Käse: 0. Hast du eatCheese()
auf einem Käsefeld ausgeführt, wird daraus eine 1. So siehst du
gleich, wie viel Käse die Maus schon gefunden hat.
4. Schritt 3: Steine aus dem Weg gehen
Manchmal liegt ein Stein im Weg. Gegen einen Stein kann die Maus nicht laufen – sie bleibt einfach stehen. Damit sie von alleine vor dem Stein anhält, gibt es einen Sensor (einen „Fühler"):
| Sensor | Prüft |
|---|---|
wallFront() | Wand oder Stein direkt vor der Maus |
stoneFront() | Stein direkt vor der Maus |
Mit while wiederholst du etwas, solange eine Bedingung gilt.
Probier es aus:
while not wallFront():
move()
turnRight()
move()
eatCheese()
Was bedeutet der Code?
while not wallFront():= „wiederhole, solange KEINE Wand und KEIN Stein vor mir ist".- Alles, was darunter 4 Leerzeichen weitereingrückt ist, wird
wiederholt – hier das
move(). - Sobald ein Stein (oder die Wand) kommt, hört die Schleife auf und Die Maus macht mit den nächsten Befehlen weiter.
Wichtig bei der Schrift:
- Rücke Zeilen mit 4 Leerzeichen ein. Die Tab-Taste fängt die Eingabe ab und fügt 4 Leerzeichen ein – mit Esc gibst du die normale Tab-Funktion (Fokuswechsel) wieder frei.
- Alles, was zusammengehört, steht weiter rechts.
5. Schritt 4: Vorsicht, die Mausefalle!
Jetzt wird es spannend: Im Haus kann eine Mausefalle versteckt sein. Läuft die Maus drauf, ist das Game Over – das Spiel ist zu Ende.
Damit die Maus die Falle erkennt, gibt es zwei neue Sensoren:
| Sensor | Prüft |
|---|---|
trapFront() | Mausefalle direkt vor der Maus |
trapHere() | Maus steht schon auf einer Falle |
Mit if kannst du eine Entscheidung treffen: Wenn eine Falle vorne
ist, dann dreh dich – sonst geh weiter.
while not wallFront():
if trapFront():
turnRight()
else:
move()
Was bedeutet der Code?
if trapFront():= „wenn vor mir eine Falle ist …"turnRight()(eingerückt) passiert nur bei einer Falle.else:= „sonst …" – alsomove(), wenn kein Stein und keine Falle im Weg sind.
So läuft die Maus sicher an der Falle vorbei. Trifft sie trotzdem auf eine Falle, erscheint 💀 Game Over! – einfach Code anpassen und nochmal versuchen.
6. Schritt 5: Weizen für den Winter
Die Maus soll den Winter gut überstehen. Dafür gibt es Weizen, den sie einsammelt und im Nest ablädt. Dazu kommen drei neue Befehle:
| Befehl | Wirkung |
|---|---|
takeWheat() | Maus nimmt Weizen vom Feld auf (in den Vorrat) |
dropWheat() | Maus legt den ganzen Weizen-Vorrat ins Nest |
nestHere() | Sensor: Maus steht auf dem Nest |
Und zwei bekannte Sensoren helfen dabei:
| Sensor | Prüft |
|---|---|
cheeseHere() | Maus steht auf einem Käsefeld |
wheatHere() | Maus steht auf einem Weizenfeld |
Hier ist ein komplettes Programm, das alles zusammenführt:
while not wallFront():
if trapFront():
turnRight()
else:
move()
if cheeseHere():
eatCheese()
if wheatHere():
takeWheat()
if nestHere():
dropWheat()
Oben rechts siehst du live mit: Käse / Weizen / Nest. Wenn die Maus den Weizen im Nest ablädt, steht dort eine Zahl – das ist ihr Winter-Vorrat!
7. Alle Befehle und Sensoren auf einen Blick
Befehle (das schreibst du in dein Programm)
| Befehl | Wirkung |
|---|---|
move() | Maus geht 1 Feld in Blickrichtung |
turnLeft() | Maus dreht sich nach links |
turnRight() | Maus dreht sich nach rechts |
eatCheese() | Maus isst Käse auf dem Feld |
takeWheat() | Maus nimmt Weizen auf |
dropWheat() | Maus legt den Weizen ins Nest |
Sensoren (zum Prüfen – für while und if)
| Sensor | Prüft |
|---|---|
wallFront() | Wand ODER Stein vor der Maus |
stoneFront() | Stein direkt vor der Maus |
trapFront() | Mausefalle vor der Maus |
trapHere() | Maus steht auf einer Falle |
cheeseHere() | Maus steht auf einem Käsefeld |
wheatHere() | Maus steht auf einem Weizenfeld |
nestHere() | Maus steht auf dem Nest |
wallRight() / wallLeft() | Wand rechts / links |
stoneRight() / stoneLeft() | Stein rechts / links |
8. Schleifen, Entscheidungen & Co
Du kannst Dinge wiederholen, Entscheidungen treffen und sogar eigene Helfer-Befehle bauen.
# 3x hintereinander gehen
repeat 3:
move()
# nur, wenn eine Falle vorne ist
if trapFront():
turnRight()
else:
move()
# eine Variable und Rechnen
x = 3 * (2 + 1)
print(x)
# eine eigene Funktion bauen
def schritt(n):
repeat n:
move()
schritt(4)
Wichtig bei der Schrift:
- Rücke Zeilen mit 4 Leerzeichen ein. Die Tab-Taste fängt die Eingabe ab und fügt 4 Leerzeichen ein – mit Esc gibst du die normale Tab-Funktion (Fokuswechsel) wieder frei.
- Hinter
while,if,else,repeatunddefgehört ein Doppelpunkt:. - Alles, was zusammengehört, steht weiter rechts.
9. Mit der Tastatur steuern
Du brauchst keine Maus, um das Spielfeld zu erkunden:
| Taste | Wirkung |
|---|---|
| Pfeiltasten | Von Zelle zu Zelle im Raster navigieren |
| Pos1 / Home | Ganz nach links (Spalte A) |
| Ende / End | Ganz nach rechts (letzte Spalte) |
| M | Maus fokussieren (mitsamt Blickrichtung) |
| K | Nächsten Käse fokussieren |
| W | Nächsten Weizen fokussieren |
| F | Nächste Mausefalle fokussieren |
| N | Nächstes Nest fokussieren |
| S | Nächsten Stein fokussieren |
| P | Übersicht aller Objekte (wird unten angezeigt) |
| Esc | Zurück zum Code-Feld |
| Strg + Eingabe | Programm direkt ausführen |
| F8 | Schrittmodus starten bzw. nächsten Schritt |
Im Level-Editor schaltet T den Fokus zwischen Werkzeug-Auswahl und Raster um.
10. Dein eigenes Level bauen
- Klicke auf Level erstellen.
- Wähle oben ein Werkzeug (Stein, Mausefalle, Weizen, Nest, Käse, Maus-Start oder Löschen).
- Klicke auf die Felder, um das Werkzeug dort zu platzieren.
- Stelle die Startrichtung der Maus ein.
- Wähle die Rastergröße: Einsteiger (4×4), Standard (6×6) oder Profi (8×8).
- Klicke Level spielen – dein Feld erscheint beim Spielen.
- Mit Speichern & Laden (JSON-Datei) kannst du Levels aufheben und später wieder laden. Leeren entfernt alles.
11. Farben und Kontraste
Oben rechts ist ein Knopf, mit dem du das Design umschaltest:
Hell → Dunkel → Kontrast → Kontrast dunkel → Hell (und so weiter).
Die Kontrast-Designs sind extra für schwaches Sehvermögen gedacht: schwarze/weiße Symbole mit dickem Rand. Deine Auswahl wird gespeichert.
12. Mit dem Screenreader nutzen
Diese App ist so gebaut, dass sie vorgelesen werden kann. Du brauchst keine sichtbare Maus.
- Spielfeld erkunden: Mit den Pfeiltasten springst du von Zelle zu Zelle. Jede Zelle wird vorgelesen, zum Beispiel „A1, leer" oder „C4, Käse, Maus blickt nach oben". So weißt du immer genau, wo du bist.
- Ansage der Schritte: Im Steuerungs-Bereich gibt es einen Umschalter „Ansage". Wenn er an ist, wird bei jedem Schritt vorgelesen, was die Maus tut. Im Schrittmodus (F8) ist er automatisch an. Wenn es zu viel redet, kannst du ihn ausschalten. (Der Schalter ist für sehende ausgeblendet, aber mit Tastatur und Screenreader erreichbar.)
- Ausgabe: Der Bereich unten ist eine Live-Region. Neue Meldungen („Programm läuft …", Fehler usw.) werden automatisch vorgelesen.
- Übersicht (P): Drücke P, um alle Objekte auf einen Blick zu bekommen – auch das wird vorgelesen.
- Sprünge: Oben links sind versteckte Sprungmarken, mit denen du direkt zum Hauptinhalt, zum Spielfeld oder zum Editor-Raster springen kannst (z.B. falls du dich verläufst).
- Kontrast: Wähle eines der Kontrast-Designs (siehe Abschnitt 11), wenn du größere Kontraste brauchst.
13. Wenn etwas schiefgeht
- Fehler in der Ausgabe? Meistens fehlt ein Doppelpunkt
:beiwhile/repeat/if, oder die Einrückung stimmt nicht. Die Meldung sagt oft, in welcher Zeile. - Die Maus rührt sich nicht? Vielleicht steht sie vor einer Wand
oder einem Stein und
move()kann nicht weiter. Prüfe mitwallFront(). - Nichts passiert? Drücke Stopp (■) und dann nochmal Ausführen (▶). Vergiss nicht: Strg + Eingabe startet schnell.
Viel Spaß beim Programmieren! Probiere ruhig aus – bei der Maus lernt man am besten durch Ausprobieren.