4
01
Bilder und Turtle-Grafik
Bilder und Turtle-Grafik
Wenn wir im Moorhuhn-Spiel für die Hühner Turtles verwenden wollen,
müssen wir ihnen kleine Bildchen als »Shapes« geben. Das geht in der Tat,
wenn die Bilder im Format
*.gif
vorliegen.
Bevor du mit der Arbeit weitermachst, vergewissere dich, dass die Datei-
en
landschaft.gif
,
huhn01.gif
und
huhn02.gif
im Verzeichnis
C:\py4kids\kap15
vorhanden sind.
Wir müssen nun zuerst das Arbeitsverzeichnis für Python richtig einstellen:
>
Starte IPI-T
URTLE
G
RAFIK
neu und mach mit! (Die Pfadangaben musst
du an dein Betriebssystem und an deine Verzeichnis-Struktur anpas-
sen.)
>>> import os
>>> os.getcwd()
'C:\\py4kids'
>>> os.chdir("C:/py4kids/kap15")
>>> os.getcwd()
'C:\\py4kids\\kap15'
>>> os.listdir(".")
['applaus.wav', 'daneben.wav', 'getroffen.wav',
'huhn01.gif', 'huhn02.gif', 'jubel.wav', 'landschaft.gif']
Hier hast du gleich drei recht wichtige Funktionen aus dem Modul
os
ken-
nen gelernt.
os
steht als Abkürzung für
o
perating
s
ystem
, Betriebssystem.
0
Die Funktion
getcwd()
gibt das aktuelle Arbeitsverzeichnis aus
(
getcwd
steht für
get
c
urrent
w
orking
d
irectory)
.
0
Die Funktion
chdir()
wechselt das aktuelle Arbeitsverzeichnis auf das
als Argument angegebene Verzeichnis (
chdir
steht für
ch
ange
dir
ec-
tory)
.
0
Die Funktion
listdir()
gibt eine Liste mit den Einträgen in dem Ver-
zeichnis aus, das als Argument angegeben wird.
Dabei steht
"."
immer für das aktuelle Arbeitsverzeichnis. Daher gibt der
Aufruf
os.listdir(".")
eine Liste der Dateien (und Unterverzeichnisse)
im aktuellen Arbeitsverzeichnis aus. So überzeugst du dich, dass die beiden
Dateien
"huhn01.gif"
und
"huhn02.gif"
tatsächlich im aktuellen Ar-
beitsverzeichnis vorhanden sind. Wenn du im IPI/in der IDLE(P
YTHON
GUI)
ein Script ausführst, ist das aktuelle Arbeitsverzeichnis immer das Ver-
zeichnis, in dem das Script steht.
4
02
Moorhuhn
Kapitel
15
Damit ist es leicht, die beiden
.gif
-Bildchen zu Turtle-Shapes zu machen.
Im Folgenden wollen wir dazu aus dem Modul
turtle
wieder nur die Klas-
sen
Screen
und
Turtle
importieren.
>
Starte IPI-T
URTLE
G
RAFIK
neu und mach mit!
>>> from turtle import Screen, Turtle
>>> screen = Screen()
>>> huhn1 = Turtle()
>>> screen.register_shape("huhn01.gif")
>>> screen.getshapes()
['arrow', 'blank', 'circle', ‘classic’, 'huhn01.gif',
'square', 'triangle', 'turtle']
>>> huhn1.shape("huhn01.gif")
>>> huhn1.pu(); huhn1.forward(80)
>>> screen.register_shape("huhn02.gif")
>>> huhn2 = Turtle(shape="huhn02.gif")
Hier haben wir die Namen von
gif
-Dateien als »Shapes« zunächst mit
screen.register_shape()
registriert und dann – wie gehabt – im Kon-
struktor der Klasse
Turtle
verwendet.
Wenn
register_shape()
einen Shape-Namen als Argument bekommt,
der mit
".gif"
endet, wird dieser als Name einer Bilddatei aufgefasst und
diese Bilddatei als Turtle-Shape registriert. Danach kann die Methode
sha-
pe()
aufgerufen werden, um der Turtle diese Gestalt zu verleihen.
Moorhühner mit Turtle
-
Shapes aus
*.gif
-Dateien

Get Python für Kids now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.