User manual
mainloop = True Ezzel elintéztük az alap-tennivalókat, és elkezdhetjük a tulajdonképpeni játékot.
Ez a sor röviden elmondja a felhasználónak, hogy mit kell tennie. A tasztatúra bármelyik
gombjának a megnyomására egy új kockadobás történik. A
print mindig a Python-Shell-ablakba
ír ki, és nem az új grafikus ablakba.
while mainloop: Most kezdődik el a játék főhurka. Sok játék végtelen hurkot alkalmaz, amely
ismételten és állandóan valamilyen aktivitásra szólítja fel a felhasználót. Valahol a hurokban
definiálva kell lennie egy megszakítási feltételnek, amely arról gondoskodik, hogy be lehessen
fejezni a játékot.
Erre a célra alkalmazzuk itt a mainloop változót, amely csak a két Boole-féle értéket, a True és a
False (igaz és hamis, be és ki) értéket veheti fel. Ez a változó kezdetben a True értéken áll, és
minden hurokátmenetnél lekérdezésre kerül. Ha a hurok folyamán a
False értéket veszi fel, a
hurok a következő menet előtt befejeződik.
for event in pygame.event.get(): Ez a sor kiolvassa a legutolsó felhasználói aktivitást, és event-ként
(esemény) tárolja. A játékban csak kétfajta játékra irányuló felhasználói aktivitás van: A
felhasználó megnyom egy gombot, és ezáltal dob, vagy a felhasználó be akarja fejezni a
játékot.
A játék befejezésére két lehetőség van: Rákattinthat az ablak jobb felső sarkában látható x-
szimbólumra, vagy megnyomhatja az
[Esc] gombot. Ha rákattint az x-szimbólumra, akkor az
operációs rendszer által szolgáltatott eseménytípus:
event.type == QUIT. Ha megnyom egy
gombot, majd felengedi, az eseménytípus
event.type
== KEYUP
. Kiegészítésül még ebben az esetben a megnyomott gomb tárolódik is az event.key
helyen.
Az ismertetett if-lekérdezés megvizsgálja, hogy a felhasználó be akarja-e zárni az ablakot, vagy
(
or) megnyomott és felengedett egy nyomógombot, és (and) ennek a nyomógombnak a belső
megjelölése a
K_ESCAPE-e. Ha ez az eset, akkor a mainloop változó a False értékre állítódik, ami
a játék főhurkát a következő menet előtt befejezi.
if event.típuse == KEYDOWN: A felhasználói aktivitás másik fajtája az, ami a játék közben ismét és
ismét, és nemcsak egyszer fordul elő, hogy a felhasználó megnyom egy nyomógombot. Nem
játszik szerepet ebben, hogy az
[Esc]-gombon kívül melyiket nyomja meg. Mihelyt megnyom
egy gombot (
KEYDOWN), elindul egy fontos programrész, amely a kockadobás eredményét
állítja elő, és meg is jeleníti azt.
FELD.fill(BLAU) Elsőként a FELD megnevezésű Surface-objektum, a tulajdonképpeni
programablak a kezdéskor kéknek
BLAU definiált színnel töltődik ki, hogy átfesse az előző
kockadobás eredményét.
szám = random.randrange (1, 7)
"Beliebige Taste drücken, um zu würfeln, [Esc]
if
event.type
== QUIT
or (event.typee
==
KEYUP
and
event.key
== K_ESCAPE):
mainloop = False
69