Instructions
66
Der Rüc
kg
a
b
ewert
d
er Fun
k
tion ist ein
g
eometrisc
h
er Pun
k
t mit
d
en errec
h
neten Koor
d
inaten
x1
u
n
d
y1
,
d
er
wie alle Punkte in doppelte Klammern
g
esetzt wird.
Nach der De
fi
nition dieser Funktion wird das Zi
ff
erblatt gezeichnet.
for i in range(60)
:
pygame.draw.circle
(
FELD, SCHWARZ, punkt
(
190, i
)
, 2
)
Ein
e
Sc
hl
e
i
fe
z
e
i
c
hn
et
n
ac
h
e
in
a
n
de
r
d
i
e
60
Minutenpunkte au
f
einem Kreis. Alle Punkte werden mit der
F
u
n
kt
i
o
n punkt
()
ermitte
l
t. Sie
h
a
b
en
d
en g
l
eic
h
en A
b
stan
d
vom Mitte
l
pun
k
t,
d
er mit
190
Pix
el
n in
de
n vi
e
r
Quadranten noch genau 10 Pixel vom Fensterrand ent
f
ernt ist. Die Punkte haben einen Radius von
2
Pix
el
n.
for i in range(12)
:
pygame.draw.circle
(
FELD, SCHWARZ, punkt
(
190, i * 5
)
, 4
)
Eine zweite Schlei
f
e zeichnet
12
grö
ß
ere Kreise, die die Stunden au
f
dem Zi
ff
erblatt markieren. Diese Kreise
habe
n
e
in
e
n R
ad
i
us
v
o
n
4
Pixeln, werden ein
f
ach über die vorhandenen Kreise gezeichnet und überdecken
diese vollständig. Die Stundensymbole
f
olgen im Winkelabstand von
f
ün
f
Minuteneinheiten au
f
einander, was
man
d
urc
h
d
ie Mu
l
tip
l
i
k
ation mit
5
in
d
er Win
k
e
l
anga
b
e,
d
ie an
d
ie Fun
k
tion ü
b
erge
b
en wir
d
, erreic
h
t
.
ma
i
n
l
oop = True; s
1
=
0
Bevor die Hauptschlei
f
e des Programms startet, werden noch zwei Hil
f
svariablen
de
fi
niert, die im
f
olgenden Verlau
f
benötigt werden. ma
i
n
l
oo
p
gi
b
t wie im
l
etzten Programm
b
eispie
l
an, o
b
die Schlei
f
e weiterlau
f
en soll oder der Benutzer das Programm beenden möchte.
s1
speic
h
ert
d
ie zu
l
etzt ange
-
zeigte Se
k
un
d
e
.
wh
i
l
e main
l
oop
:
zeit = time.localtime
()
Jetzt startet die Hauptschlei
f
e des Programms, die in jedem Durchlau
f
, unabhängig davon, wie lange er dauert,
d
ie a
k
tue
ll
e Zeit in
d
as O
b
je
k
t z
eit
sch
r
e
i
bt
. D
a
z
u
wir
d
d
i
e
F
u
n
kt
i
o
n
t
ime.localtime
()
aus
de
r
ti
m
e
-Bi
bl
i
o-
t
h
e
k
verwen
d
et. Das Erge
b
nis ist eine Datenstru
k
tur,
d
ie aus versc
h
ie
d
enen Einze
l
werten
b
este
h
t.
s = zeit.tm
_
sec
m = zeit.tm
_
min
h
= ze
i
t.tm_
h
our
Die drei für die Uhrzeiger relevanten Werte, Sekunden, Minuten und Stunden, werden aus der Struktur in drei
V
a
ri
ab
l
e
n
s
,
m
u
n
d
h
geschrieben.
if
h
> 12
:
h
=
h
—
12
Analoguhren zeigen nur zwölf Stunden an. Die Funktion
t
ime.localtime
()
liefert alle Zeitangaben im
24-Stunden-Format. Bei Zeitan
g
aben am Nachmitta
g
werden also ein
f
ach
12
Stu
n
de
n
subt
r
a
hi
e
r
t
.
10145-5 Raspberry Pi verstehen und anwenden_01.indd 6610145-5 Raspberry Pi verstehen und anwenden_01.indd 66 30.06.2017 10:09:3630.06.2017 10:09:36