Naar de inhoud
Inloggen

Gebeurtenissen: wanneer dit gebeurt, doe dat

De meeste programma’s doen niet alles achter elkaar. Ze wachten tot er iets gebeurt (een kar komt, een knop wordt ingedrukt, een bericht komt binnen) en reageren dan. Zo’n "wanneer" heet een gebeurtenis.

Wachten tot er iets gebeurt

Een poortwachter staat niet de hele dag de poort open en dicht te doen. Hij wacht. Komt er een kar, dan doet hij de poort open. Dat is het verschil tussen een volgorde van stappen die je van boven naar beneden doet, en een gebeurtenis: een stukje programma dat pas draait als iets van buiten het aanzet. In Progio heet zo’n blok "wanneer een kar komt". Alles wat je eronder hangt, gebeurt elke keer als er een kar is: één kar, één keer; vijf karren, vijf keer.

Waar je gebeurtenissen overal ziet

Een spel dat reageert als je op een toets drukt. Een telefoon die trilt als er een bericht binnenkomt. Een deur die opengaat als je ervoor staat. Een thermostaat die de verwarming aanzet als het kouder wordt dan 19 graden. In al die gevallen staat er in de code iets als "wanneer … doe …". Het programma wacht, en de wereld bepaalt wanneer het iets doet.

Gebeurtenis of als-dan?

Ze lijken op elkaar, maar er is een verschil. Een als-dan kijkt één keer, op het moment dat het programma daar is: is de kar zwaar? Een gebeurtenis wacht en kan vaker afgaan: elke keer als er een kar komt. Vaak zitten ze samen: wanneer een kar komt, als de kar zwaar is, tel dan 1 op. Precies zo werkt level 11 van de Romeinen.

Waar je het in Progio tegenkomt

Bij de Romeinen zijn er twee gebeurtenissen: "wanneer een kar komt" en "wanneer de dag voorbij is". Met de eerste open je de poort (en sluit je hem in de expert-variant weer), met de tweede laat je Livia zeggen hoeveel karren ze heeft geteld, met een variabele. Op planeet Progio komen gebeurtenissen terug in JavaScript: knoppen, toetsen en invoer op een webpagina.

Veelgestelde vragen

Wat gebeurt er als ik twee keer "wanneer een kar komt" gebruik?

In Progio geldt het laatste blok. In echte programma’s kunnen meerdere reacties tegelijk bestaan; dat leer je later.

Is een herhaling ook een gebeurtenis?

Nee. Een herhaling doet iets een vast aantal keer of tot iets waar is, meteen. Een gebeurtenis wacht tot iets van buiten gebeurt.