Ein bisschen Turtlen im Labyrinth

Die Datei maze1.png herunterladen und im Ordner, wo auch dein Code entsteht (z.B: …/informatik/python/turtle) abspeichern. In Python wird die Bilddatei geladen:

from turtle import *
 
# Load background image
bgpic('maze1.png')
title('My turtle Lea')
Screen().setup(600, 600)  # Grösse der Zeichenfläche

Dann kann die Turtle an den Eingang zum Labyrinth gebracht werden:

# Create new turtle
lea = Turtle()
# Go to start position
lea.hideturtle()
lea.penup()            # "Stift anheben" --> Turtle-Spur nicht zeichnen
lea.shape('turtle')    # Turtle verwenden (Alternativen: “arrow”, “circle”, “square”, “triangle”, “classic”)
lea.goto(-177, 250)
lea.pendown()          # "Stift absenken" --> Turtle-Spur wird gezeichnet
lea.showturtle()
 
# Start eigener Code
 
 
# Ende eigener Code
done()

Beachte: Die done() Funktion sollte immer am Schluss des Programms stehen, um zu verhindern, dass sich das Fenster am Schluss automatisch schliesst.

Weitere Turtle Befehle (docs.python.org | pen-control)

Funktion KurzformWirkung
left(n) rt(n) n-Grad links drehen
right(n) rt(n) n-Grad rechts drehen
forward(n) fd(n) n-Einheiten vorwärts gehen
backward(n)bk(n) n-Einheiten rückwärts gehen

Lasse die Turtle einen Weg aus dem Labyrinth (Irrgarten) maze1.png (Start-Koordinaten: -175 , 250) finden.

maze1.png

Tipp Hilft es, eine Variable mit der Breite des Gangs zu definieren?

Versuche dich nun an maze2.png (Start: -204, 272) maze2.png und maze3.png (Start: -373, 185) maze3.png

Codieren den Weg aus dem Labyrinth maze1.png als kompakte Anweisungen mit dem Alphabeth LR-.

BuchstabeFunktion
LLinksdrehung 90°
RRechtsdrehung 90°
-1 Schritt geradeaus

Beispiel: String 'L---R-R--'

Schreibe einen Interpreter für die obige Anweisungssprache für die Turtle.
Ein Interpreter ist eine Funktion, die einen String erhält und die Turtle entsprechend bewegt.

Gibt es eine noch kompaktere Sprache, z.B. 'L3RR2'? Definiere das Alphabeth und schreibe den Interpreter.

Codieren den Weg aus dem Labyrinth maze2.png als kompakte Anweisungen mit dem Alphabeth LR-.

Erweitere dein Alphabeth, so dass du dass Labyrint maze3.png bezwingen kannst.

Python Syntax

  • lehrkraefte/sbt/informatik/glf22/labyrinth-turtle.txt
  • Last modified: 2025/09/23 18:41
  • by Karlheinz Schubert