Verschillende schermen in een spel

Programmeergidsen

Een spel heeft vaak verschillende schermen: een titelscherm, het spel zelf, een winnend scherm en een verliezend scherm. Dat hoeven geen aparte programma’s te zijn. Eén programma kan onthouden welk scherm actief is.

Dit artikel bouwt voort op toestand. We beschrijven de veranderingen eerst met tekst, voordat we tekeningen of knoppen toevoegen.

Kies de volgende kamer

Stel je de schermen voor als kamers met deuren ertussen. Start brengt je van de titel naar het spelen. Winnen brengt je van het spelen naar de winnaarskamer. Sommige deuren mogen alleen vanuit bepaalde kamers werken.

Een verandering van de ene toestand naar de andere heet een overgang. Met een overgangstabel bepaal je de regels voordat je iets tekent.

Huidig scherm Actie Volgend scherm
Titel, gewonnen of verloren Start Spelen
Spelen Winnen Gewonnen
Spelen Verliezen Verloren

Ons prototype laat Start ook tijdens het spelen toe om een ronde opnieuw te beginnen.

Oefen een spelverloop

De actielijst is verzonnen invoer. Zo testen we een hele reeks zonder op knoppen te klikken.

# taal: nl
laat scherm = "titel"
zeg scherm
voor actie in ["start", "win", "start", "verlies"]:
    als actie == "start":
        zet scherm = "spelen"
    anders:
        als scherm == "spelen":
            als actie == "win":
                zet scherm = "gewonnen"
            als actie == "verlies":
                zet scherm = "verloren"
    zeg scherm

Voorspel en probeer

Kan de tweede Start ons terugbrengen vanaf het winnende scherm?

titel
spelen
gewonnen
spelen
verloren

Ja. Het huidige scherm is één tekstwaarde. Dat voorkomt combinaties zoals ‘tegelijk gewonnen en verloren’. Die maak je makkelijk per ongeluk met verschillende losse waar/onwaar-vlaggetjes.

Jouw uitdaging

Zet "win" aan het begin van de actielijst, vóór Start. Het titelscherm moet dan onveranderd blijven. Leg uit welke voorwaarde voorkomt dat een speler al wint voordat die speelt.

Een veelgemaakte fout

Een afbeelding veranderen zonder de onthouden toestand bij te werken, kan knoppen laten reageren alsof het vorige scherm nog actief is. Teken in een grafische versie de scène die bij scherm past. Verwerk alleen de acties die daar mogen. De teksten hier zijn jouw eigen labels, geen bijzondere Pliro-sleutelwoorden.

Verder leren

Toestand · Gebeurtenissen · Tekenen