Dein Programm
Strg+Eingabe führt das Programm direkt aus.
Spielfeld
Level erstellen
Speichern & Laden
Dieser Titel steht oben auf der Schwellkopie und wird auch zum Dateinamen (TITEL_mausefalle.svg / .json).
Level-Editor-Raster
Klicke auf ein Feld, um das gewählte Objekt zu platzieren.
Zur ausführlichen Anleitung mit vielen Schritt-für-Schritt-Beispielen →
Tactile 3D-Modelle, die zu diesem Programm passen →
Programmierbefehle & Sensoren
Diese Befehle schreibst du in dein Programm, um die Maus zu steuern.
| Befehl | Beschreibung |
|---|---|
move() | Bewegt die Maus 1 Feld in Blickrichtung |
turnLeft() | Dreht 90° nach links (gegen den Uhrzeiger) |
turnRight() | Dreht 90° nach rechts (im Uhrzeiger) |
turnAround() | Dreht 180° (die Maus blickt in die entgegengesetzte Richtung) |
eatCheese() | Sammelt Käse ein (nur auf dem Käsefeld) |
takeWheat() | Nimmt Weizen vom Feld auf (in den Vorrat) |
dropWheat() | Legt den gesamten Weizen-Vorrat im Nest ab |
break | Verlässt die nächste Schleife (repeat/while/for) sofort |
| Sensor | Prüft |
|---|---|
wallFront() | Wand direkt vor der Maus |
stoneFront() | Stein direkt vor der Maus |
trapFront() | Mausefalle direkt 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 |
cheeseFront() | Käse direkt vor der Maus |
wheatFront() | Weizen direkt vor der Maus |
nestFront() | Nest direkt vor der Maus |
cheeseCount() | Anzahl Käse, die die Maus schon gefressen hat (Zahl, z. B. für while cheeseCount() < 3:) |
wheatCount() | Anzahl Weizen, die die Maus im Vorrat trägt (Zahl) |
| Befehl | Beschreibung |
|---|---|
print(x) | Gibt den Wert von x (Zahl oder Text) aus |
name = ausdruck | Weist einer Variable einen Wert zu (x = 3 * 2) |
def name(p): … return w | Funktion mit Parameter(en) und Rückgabewert |
name(arg) | Ruft eine definierte Funktion auf |
Blöcke & Sprache
# Schleifen
while not stoneFront():
move()
for i in range(4):
move()
repeat 3:
move()
# Fallunterscheidung
if cheeseHere():
eatCheese()
else:
move()
# elseif: Kette von Bedingungen (genau ein Zweig wird ausgeführt)
if cheeseHere():
eatCheese()
elseif wheatHere():
takeWheat()
else:
move()
# break: Schleife sofort verlassen (auch aus if-Blöcken heraus)
while cheeseCount() < 3:
move()
if cheeseHere():
eatCheese()
if cheeseCount() == 3:
break
# Variablen, Arithmetik, Vergleiche
x = 3 * (2 + 1)
while x < 10:
move()
x = x + 1
# Funktion mit Parameter definieren und aufrufen
def schritt(n):
repeat n:
move()
schritt(3)
# Zeichenketten verbinden und ausgeben
name = "Maus"
print("Hallo " + name)
# Bedingungen kombinierbar mit not / and / or:
while not wallFront() and not trapFront():
move()
if stoneFront() or trapFront():
turnRight()
else:
move()
| Regel | Bedeutung |
|---|---|
| Einrückung | 4 Leerzeichen (TAB wird zum Einrücken gefangen; mit Esc die normale Tab-Funktion freigeben – beim nächsten Fokus auf das Code-Feld wird TAB automatisch wieder gefangen) |
+ - * / % | Rechnen |
== != < > <= >= | Vergleiche |
and or not | Logik |
"text" | Zeichenkette |
repeat N: / repeat: | Schleife N-mal; repeat: ohne Zahl = 2-mal |
if … / elseif … / else | Fallunterscheidung (Kette; genau ein Zweig) |
break | Verlässt die nächste Schleife sofort |
Beispielprogramme
Klick auf „In den Editor“ übernimmt das Programm ins Code-Feld (Tab „Spielen“).
Laufen & fressen
# Zwei Felder vorwärts, dann den Käse fressen move() move() eatCheese()
Ecke drehen
# Um die Ecke: rechts, dann zwei Felder, dann wieder geradeaus move() turnRight() move() move() turnLeft()
Mit Schleife zum Käse
# Solange keine Falle und keine Wand vor uns:
# vorwärts laufen, Käse unterwegs fressen
while not trapFront() and not wallFront():
if cheeseHere():
eatCheese()
else:
move()
Weizen-Transport
# Weizen aufnehmen (Maus steht auf Weizen),
# zum Nest laufen und ablegen
takeWheat()
while not nestFront():
move()
move()
dropWheat()
Kurztasten (Tastatursteuerung)
Diese Tasten steuern die Oberfläche und die Navigation – sie sind kein Programmcode.
Wichtig für Screenreader-Nutzung: Die Buchstabentasten (M, K, W, F, N, S) sowie die Pfeiltasten funktionieren nur, wenn der Fokus im Spielfeld-Raster liegt (das Raster ist als „Anwendung" markiert, damit der Screenreader im Fokus-Modus ist – ggf. mit Enter bzw. NVDA+Leertaste in den Fokus-Modus wechseln oder einfach mit Tab ins Raster springen). Sobald der Fokus im Raster ist, werden einzelne Buchstaben nicht mehr vom Screenreader abgefangen. P (Objekt-Übersicht) funktioniert zusätzlich von überall auf dem Spiel-Tab – auch außerhalb des Rasters.
| Taste | Wirkung |
|---|---|
| Alt + 1 | Tab „Spielen" öffnen (Fokus springt auf den Tab) |
| Alt + 2 | Tab „Level erstellen" öffnen (Fokus springt auf den Tab) |
| Alt + 3 | Tab „Hilfe" öffnen (Fokus springt auf den Tab) |
| Taste | Wirkung |
|---|---|
| Pfeil ↑ ↓ ← → | Zelle für Zelle durch das Raster navigieren (Fokus folgt) |
| Pos1 / Home | An den Anfang der Zeile (Spalte A) |
| Ende / End | An das Ende der Zeile (letzte Spalte) |
| M | Maus fokussieren (mitsamt Blickrichtung) |
| K | Nächsten Käse fokussieren (mehrmals drücken → weiter) |
| W | Nächsten Weizen fokussieren |
| F | Nächste Mausefalle fokussieren |
| N | Nächstes Nest fokussieren |
| S | Nächsten Stein fokussieren |
| P | Übersicht aller Objekte im Ausgabebereich anzeigen (Maus inkl. Blickrichtung, Käse, Fallen, Steine, Nest, Weizen – jeweils mit Koordinaten, sortiert). Fokus liegt danach auf dem Ausgabebereich. |
| Esc | Fokus zurück zum Code-Feld |
| Taste | Wirkung |
|---|---|
| Pfeil ↑ ↓ ← → | Zelle für Zelle im Editor-Raster navigieren (Fokus folgt) |
| Eingabe / Leertaste | Gewähltes Werkzeug auf die fokussierte Zelle anwenden |
| T | Fokus zwischen Werkzeug-Auswahl und Raster umschalten |
| Taste | Wirkung |
|---|---|
| Strg + Eingabe | Programm im Code-Feld direkt ausführen |
| F8 | Schrittmodus starten bzw. nächsten Schritt ausführen |