static.wiai.de/mut-2024/sections/08-labyrinth.md
Jochen Mehlich 2a38abbb6f changed mut to mut-2024
Signed-off-by: Jochen Mehlich <coding@jochenmehlich.de>
2024-10-26 21:30:43 +02:00

3.6 KiB
Raw Blame History

🌏

Turtle on Tour

Tastatur-Kommandos


🎮

Ferngesteuert

# Was soll Turtle tun?

# Turtle soll sich vorwärts bewegen
def move_forward():
    schildkroete.forward(20)

# Turtle soll sich nach rechts drehen
def move_right():
    schildkroete.right(90)
    schildkroete.forward(20)

Beachtet auch hier die Einrückung!


🐾

Lauf los, Turtle!

# den vorher definierten Aktionen Tasten zuweisen
spielplatz.onkey(move_forward, "Up")
spielplatz.onkey(move_right, "Right")

# aktivieren
spielplatz.listen()

👩‍💻

Wie findet man die richtigen Tasten?

  • die Tasten heißen wie ihre Beschriftung:
    z.B. heißt die Taste A ebenfalls "A"
  • besondere Tasten:
  • "Down"

    "Up"

    "Right"

    "Left"


Aufgabe 5


🥗🥬

Mittagessen für Turtle

Turtle hat Hunger. Bewegt Turtle mit Tastaturbefehlen und helft ihm bei der Futtersuche.

# Vorbereitungen
from turtle import *
import helfer

spielplatz = helfer.spielplatz()
schildkroete = helfer.schildkroete()
essen = helfer.essen()

1. Turtle bewegen

  • Sorgt dafür, dass sich Turtle beim Aufruf der Methode `move_right` nach rechts bewegt.
  • Ersetzt hierfür den Kommentar mit den richtigen Anweisungen.
# Turtle bewegen
def move_right():
    # Aufgabe 1. 
    # Bewege die Schildkröte nach rechts.

2. Auf Tastendruck reagieren

  • Sorgt dafür, dass die Funktion `move_right` aufgerufen wird, wenn die rechte Pfeiltaste ("Right") gedrückt wurde.
  • Tipp: Nutzt hierfür `spielplatz.onkey(…)`.
  • Probiert euren Code aus: Bewegt sich Turtle?

3. Freie Bewegungen

  • Fügt die weiteren Bewegungen nach links, vorn und hinten hinzu.
  • Verknüpft sie mit den Tasten auf der Tastatur.

Lösungsbeispiel

# Vorbereitungen
from turtle import *
import helfer

spielplatz = helfer.spielplatz() schildkroete = helfer.schildkroete() essen = helfer.essen() spielplatz.listen()

Turtle nach rechts bewegen

def move_right(): schildkroete.right(90) schildkroete.forward(20)

spielplatz.onkey(move_right, "Right")

Turtle nach links bewegen

def move_left(): schildkroete.left(90) schildkroete.forward(20)

spielplatz.onkey(move_left, "Left")

Turtle nach vorn bewegen

def move_forward(): schildkroete.forward(20)

spielplatz.onkey(move_forward, "Up")

Turtle nach hinten bewegen

def move_backward(): schildkroete.back(20)

spielplatz.onkey(move_backward, "Down")

Turtle essen lassen

while True: helfer.vergleiche(essen, schildkroete) spielplatz.update()