User manual

69
mainloop = True Hiermee is de basis gemaakt, en het eigenlijke spel kan beginnen.
print "Druk op een willekeurige toets, om te dobbelen, [Esc]
beëindigt het spel"
Deze regel legt in het kort uit aan de gebruiker, wat er moet worden gedaan. Bij elke keer indrukken van een
willekeurige toets op het toetsenbord, wordt opnieuw gedobbeld.
print schrijft altijd in het Python-shell-
scherm, niet in het nieuwe grafische scherm.
while mainloop: Nu begint de hoofdlus van het spel. In veel spellen wordt een gesloten lus gebruikt, die
zich steeds weer herhaalt en voortdurend enigerlei gebruikersactiviteit oproept. Ergens in de lus moet een
onderbrekingsvoorwaarde zijn gedefinieerd, die er voor zorgt, dat het spel kan worden beëindigd.
Hiervoor wordt de variabele
mainloop gebruikt, die alleen de beide boole-waarden True en False (True en
Falsch, aan en uit) aanneemt. Aan het begin staat ze op
True en wordt bij iedere lusdoorloop opgeroepen.
Heeft ze tijdens de lus de waarde
False aangenomen, wordt de lus voor de volgende doorloop beëindigd.
for event in pygame.event.get(): Deze regel leest de laatste gebruikersactiviteit en slaat haar op als
event. In het spel zijn er slechts twee manieren met spelrelevante gebruikersactiviteiten: De gebruiker drukt
op een toets en dobbelt hiermee, of de gebruiker wil het spel beëindigen.
if event.type == QUIT or (event.type == KEYUP
and event.key == K_ESCAPE):
mainloop = False
Er zijn twee mogelijkheden om het spel te beëindigen: Men kan op het x-symbool in de rechter bovenhoek
van het scherm klikken, of op de toets
[Esc] drukken. Wanneer men op het x-symbool klikt, is het de vanuit
het besturingssysteem geleverde
event.type == QUIT. Wanneer men op een toets drukt en weer loslaat, is
het
event.type == KEYUP. Daarnaast wordt in dit geval de ingedrukte toets in event.key opgeslagen.
De beschreven
if-vraag controleert, of de gebruiker het scherm wil sluiten of (or) een toets heeft ingedrukt
en losgelaten en (
and) dit de toets is met het interne kenmerk K_ESCAPE. Als dit het geval is, wordt de
variabele
mainloop op False gezet, waardoor de hoofdlus van het spel voor de volgende doorloop wordt
beëindigd.
if event.type == KEYDOWN: Het tweede type gebruikersactiviteit, dat tijdens het spel steeds weer en niet
slechts één keer voorkomt is, dat de gebruiker een toets indrukt. Hierbij is het onbelangrijk welke, met
uitzondering van de
[Esc]-toets, welke dit is. En wanneer een toets is ingedrukt (KEYDOWN), wordt een
belangrijk programmaonderdeel opgestart, die het dobbelresultaat aanmaakt en ook weergeeft.
VELD.fill(BLAUW) Als eerste wordt het als FELD gekenmerkte surface-object, het eigenlijke programma-
scherm, met de in het begin als
BLAU gedefinieerde kleur gevuld, om het voorgaande dobbelresultaat over te
verven.
ZAHL = random.randrange (1, 7)