Stap 4, van groen naar rood
Als we het licht op groen hebben staan en we drukken op rood dan gaat het licht op rood.
Maar eigenlijk mag dit niet. Als je van groen naar rood gaat dan moet het licht eerst naar oranje!
De opdracht is nu om als we op rood drukken een controle te maken of welk licht aan is. Is het groen licht aan dan gebeurt er niets.
Onthoud de kleur
Om dit te kunnen doen, moeten we eerst in de code 'onthouden' welke lamp aan is.
Dit gaan we onthouden in een variabele.
Helemaal bovenaan in de code tussen (<script> en </script>) plaatsen we de volgende code.
var colorOn;
Hiermee maken we een variabele waarin we 'onthouden' welke lamp aan is.
Nu moeten we zorgen dat de juiste waarde in variabele wordt gezet.
In het if-blokje van green, zetten we
colorOn = 'green';
In het rode blokje zetten we natuurlijk
colorOn = 'red'
En in het orange blokje zetten we
colorOn='orange'
Nu wordt telkens als er een lamp wordt aangezet de kleur van de lamp onthouden in de variabele colorOn.
Controle bij rood
In het de code vlak onder de regel:
if (color === 'red') {if (color === 'red') {
gaan we nu controleren of het groene licht aan is.
Dat doen we met de volgende code:
if ( colorOn == 'green' ){
return;
}
Wat hier staat is dat als het groene licht aan is, we de functie verlaten en verder niets meer doen. Het rode licht gaat dan dus niet meer aan.
Testen
Dus we kunnen op een lamp drukken en dan gaat de lamp aan, behalve als de groen lamp aan is en we drukken op de rode lamp dan gebeurt er niets. Dit mag immers niet omdat we eerst op oranje moeten drukken.
--