Opdrachten C
In dit deel gaan we de levens en de tijd aan het programma toevoegen.
Opdracht 11 Globale variabele
Voeg eerst een globale variabele levens toe aan het spel met de waarde 3. Dit zit een beetje verstop in GDevelop. Klik linksboven onder het hamburgermenu op de projectmanager icoon.
Opdracht 12 Loop
Op basis van deze globale variabele laat je het aantal hartjes zien. Omdat dit lastig is laat ik hier de code zien: (let op: in dit voorbeeld starten we ook al de timer die je nodig hebt! Daarnaast is de loop (repeat) een subevent van het event 'At the beginning of the scene').
Als je de code goed bekijkt laten we willekeurig de rode drie hartjes verschijnen. Bij 2 levens zijn er dus 2 hartjes zichtbaar. Dit kan mooier (van links naar rechts), maar voor nu is dit even genoeg. Test dit door de globale variabele te wijzigen naar 2 of 1. Vergeet niet om de waarde weer terug naar 3 te zetten.
Opdracht 13 Timer
Als je de timer hebt toegevoegd in de vorige opdracht kunnen we deze nu ook zichtbaar maken in het tekstveld met het aantal seconden. Dit geeft aan hoeveel seconden we nog hebben om de bom onschadelijk te maken.
Het bijzondere aan dit stukje code is dat deze altijd moet lopen. Dus er zijn geen voorwaarden. Bij de gebeurtenis zie je dat we de inhoud van de tekst Timer wijzigen. Een tekst is wat anders dan een getal, dus moeten we de tijd omzetten naar tekst. Hieronder heb ik de code uit elkaar gehaald:
# Haal de tijd op (deze begint bij 0 en loop dus op!)
TimerElapsedTime("speltijd")
# Rond de tijd af op hele seconden, test gerust wat er gebeurt zonder deze extra functie
floor( ... )
# De speltijd is bijvoorbeeld maximaal 15 seconden. Omdat we willen aftellen doen we 15 - de lopende tijd
15 - floor(TimerElapsedTime("speltijd"))
# Nu moeten de getallen nog naar tekst (strings) dat doen we met ToString en we voegen er een tekst "s" achter.
ToString( ... ) + "s"
# Eindresultaat
ToString(15 - floor(TimerElapsedTime("speltijd"))) + "s"
Opdracht 14 Te laat
Als de tijd voorbij is zal je ook wat moeten doen. Je kan dat als volgt doen:
- Zijn er nog levens? Dan globale variabele levens - 1
- Ga terug naar het begin van de scene
- Geen levens, sluit de game.