Skip to Content

Herzlich willkommen in der Informatik. Dieses Semester vertiefen wir Ihr Grundwissen. Das Ziel unseres ersten Blocks: Wir programmieren ein an “Snake” angelehntes Zweispieler-Spiel mit Turtle, in dem man sein Gegenüber mit Geschick gewieft austricksen und einschliessen muss.

20240811161919.png

Dafür müssen wir zuerst schauen, dass die Basics auch sitzen, und unsere Lernumgebung installieren: TigerJython.

Es gibt mehrere Arten, ein Turtle-Programm zu beginnen. Aber hier machen wir das so:

import gturtle # Das importiert die Bibliothek eva = gturtle.Turtle() # Das kreiert die Turtle namens "eva" eva.forward(100) # Eva geht 100 Pixel nach vorn

Jetzt sind Sie dran!

Installieren Sie TigerJython und versuchen Sie folgende Aufgaben für sich selbst zu lösen:

Die Turtle zeichnet ein gleichseitiges Dreieck (ohne Repeat-Schleife)

Das funktioniert so:

import gturtle eva = gturtle.Turtle() eva.forward(100) eva.right(120) eva.forward(100) eva.right(120) eva.forward(100) eva.right(120)

Die Turtle zeichnet ein gleichseitiges Dreieck (mit Repeat-Schleife)

Das funktioniert so:

import gturtle eva = gturtle.Turtle() repeat 3: eva.forward(100) eva.right(120)

Die Turtle zeichnet ein gleichseitiges Fünfeck (mit Repeat-Schleife). Rechnen Sie dabei den Winkel nicht manuell aus, sondern schreiben Sie die Rechnung direkt in die Funktion eva.right(...).

Das funktioniert so:

import gturtle eva = gturtle.Turtle() repeat 5: eva.forward(100) eva.right(360/5)

Finden Sie eine allgemeine Lösung für ein n-Eck? Erstellen Sie dazu eine Variabel “ecken”, in der man die Anzahl Ecken verändern kann.

Das funktioniert so:

import gturtle eva = gturtle.Turtle() ecken = 7 repeat ecken: eva.forward(100) eva.right(360/ecken)

Definieren Sie eine Funktion dreieck(), die ein gleichseitiges Dreieck zeichnet, und führen Sie sie aus.

Das funktioniert so:

import gturtle eva = gturtle.Turtle() def dreieck(): repeat 3: eva.forward(100) eva.right(120) dreieck()

Definieren Sie eine Funktion xeck() mit einem Parameter für die Anzahl Ecken und zeichnen Sie zuerst ein Fünfeck, dann ein Neuneck und dann ein Elfeck.

Das funktioniert so:

import gturtle eva = gturtle.Turtle() def xeck(ecken): repeat ecken: eva.forward(100) eva.right(360/ecken) xeck(5) xeck(9) xeck(11)

Eintrag ins Theorieheft

Wiederholung der wichtigsten Begriffe

Variabel

name = "Melanie" zahl = 5
  • name und zahl sind Variabeln. Sie speichern die Werte "Melanie" und 5.
  • Ein einzelnes Gleichheitszeichen = ist beim Programmieren kein Vergleich, sondern eine Wertzuweisung - z.B. oft für eine Variabel.

Codeblock

repeat 3: eva.forward(100) eva.right(120) eva.left(60) eva.forward(200)
  • Zu einem Codeblock (markiert) gehört in Python immer alles, was einmal mehr eingezogen ist (also einen Abstand mehr hat) als die Linie mit dem Doppelpunkt.

Funktion

def xeck(ecken): repeat ecken: eva.forward(100) eva.right(360/ecken) xeck(5)
  • Funktionen sind Teilprogramme, die etwas tun. Man erkennt sie an den runden Klammern, z.B. print(...).
  • Funktionen können Werte verarbeiten, die in ihre vordefinierten Parameter abgefüllt werden. In diesem Beispiel definiert die Funktion xeck(ecken) ein Parameter ecken, das dann jeweils beim Aufrufen der Funktion definiert wird–hier xeck(5).
  • Variabeln speichern etwas, Funktionen tun etwas.

Turtle

  • Die Turtle befolgt die Anweisungen Schritt für Schritt.
  • Die Turtle dreht sich um den Aussenwinkel.
    20230818101325.png
Last updated on