Instructions

60
An
d
i
ese
r
Stelle
wir
d
mi
t
de
n
a
n
de
r
e
n V
a
ri
able
n
auch
e
in
e
V
a
ri
able
n
a
m
e
n
s
ma
i
n
l
oo
p
auf
T
r
ue
g
esetzt,
d
ie
später
f
ür die Hauptschlei
f
e des Spiels benöti
g
t wird.
ma
i
n
l
oop = True Damit sind die Grundlagen gescha
ff
en, und das eigentliche Spiel kann beginnen.
print "Beliebige Taste drücken, um zu würfeln,
[
Esc
]
beendet das Spiel"
Diese Zeile erklärt dem Benutzer kurz, was zu tun ist. Bei jedem Druck au
f
eine beliebige Taste der Tastatur
wird neu gewür
f
elt. pr
i
n
t
schreibt immer in das Python-Shell-Fenster, nicht in das neue gra
sche Fenster
.
whil
e ma
i
n
l
oop: Jetzt beginnt die Hauptschlei
f
e des Spiels. In vielen Spielen wird eine Endlosschlei
f
e
verwen det, die sich immer wiederholt und ständig irgendwelche Benutzeraktivitäten ab
f
ragt. Irgendwo in der
Schlei
f
e muss eine Abbruchbedin
g
un
g
de
niert sein, die da
f
ür sor
g
t, dass das Spiel beendet werden kann.
D
afü
r wir
d
hi
e
r
d
i
e
V
a
ri
ab
l
e
ma
i
n
l
oo
p
verwen
d
et
,
d
ie nur
d
ie
b
ei
d
en
b
oo
l
esc
h
en Werte
T
r
ue
u
n
d
F
alse
(wahr und falsch, ein und aus) annimmt. Sie steht am Anfan
g
auf
T
r
ue
und wird bei
j
edem Schlei
f
en durchlau
f
abge
f
ragt. Hat sie während der Schlei
f
e den Wert F
alse
angenommen, wird die Schlei
f
e vor dem nächsten
D
u
r
c
hl
auf
bee
n
det
.
for event in pygame.event.get
()
: Diese Zei
l
e
l
iest
d
ie
l
etzte Benutzera
k
tivität un
d
s
p
eic
h
ert sie a
l
s
e
v
e
n
t
. Im Spie
l
gi
b
t es nur zwei Arten spie
l
re
l
evanter Benutzera
k
tivitäten: Der Benutzer
d
rüc
k
t eine Taste un
d
wür
f
elt damit, oder der Benutzer möchte das S
p
iel beenden.
if event.type == Q
UIT
or (event.type == K
EYU
P and event.key == K_
ESCA
P
E
)
:
ma
i
n
l
oop = Fa
l
se
Es gibt zwei Möglichkeiten, das Spiel zu beenden: Man kann au
f
das x-Symbol in der oberen rechten
F
e
n
ste
r
ecke
kl
i
cke
n
ode
r
d
i
e
T
aste
[
Esc
]
drücken. Wenn man au
f
das x-Symbol klickt, ist der vom Betriebs
-
system gelie
f
erte event.type ==
Q
UI
T
. Wenn man eine Taste
d
rüc
k
t un
d
wie
d
er
l
os
l
ässt, ist
d
er even
t
.
t
ype
== KEY
U
P. Zusätz
l
ic
h
wir
d
in
d
iesem Fa
ll
d
ie ge
d
rüc
k
te Taste in event.
k
e
y
gespeic
h
ert.
Di
e
besch
ri
ebe
n
e
if
-Abfrage prüft, ob der Benutzer das Fenster schließen will oder
(
o
r
)
eine Taste gedrückt
und losgelassen hat und
(
a
n
d
)
dies die Taste mit der internen Bezeichnun
g
K_E
SC
AP
E
ist. Ist
d
as
d
er Fa
ll
, wir
d
d
i
e
V
a
ri
able
ma
i
n
l
oo
p
auf
F
alse
gesetzt, was die Hauptschlei
f
e des Spiels vor dem nächsten Durchlau
f
been-
det
.
if
event.type == KEYD
O
WN: Die zweite Art von Benutzera
k
tivität,
d
ie wä
h
ren
d
d
es Spie
l
s immer wie
d
er
un
d
nic
h
t nur einma
l
vor
k
ommt, ist,
d
ass
d
er Benutzer eine Taste
d
rüc
k
t. Da
b
ei spie
l
t es
k
eine Ro
ll
e, we
l
c
h
e
auße
r
de
r
[
Esc
]
-Taste das ist. Sowie eine Taste gedrückt wurde
(
KEYD
O
WN
)
, wird ein wichtiger Programmteil in
Gang gesetzt, der das Wür
f
elergebnis erzeugt und auch darstellt
.
FELD.fill
(
BLAU
)
A
l
s Erstes wir
d
d
as a
l
s
FELD
bezeichnete Sur
f
ace-Objekt, das eigentliche Programm
f
enster,
mit der am An
f
ang als
BLAU
de
nierten Farbe ge
f
üllt, um das vorherige Wür
f
elergebnis zu über malen.
ZAHL = random.randrange
(
1, 7
)
J
etzt
g
eneriert die Zu
f
alls
f
unktion
ra
n
dom
eine Zu
f
allszahl zwischen
1
un
d
6
un
d
s
p
eic
h
ert sie in
d
er Varia
b
l
en
ZAHL
.
10145-5 Raspberry Pi verstehen und anwenden_01.indd 6010145-5 Raspberry Pi verstehen und anwenden_01.indd 60 30.06.2017 10:09:3530.06.2017 10:09:35