In een spookhuis heb je 6 lampen en 6 knoppen. Ze doen allemaal iets: sommigen steken 1 of meer lampen aan, andere doen ook een lamp uit. Of een combinatie.
Het is een spel waarbij je moet proberen om alle lampen aan te krijgen met de juiste combinatie / volgorde van de knoppen. Maar welke. Dat bepaal jij.
- 6 knoppen, 6 lampen
- Geen random maar een vaste uitkomst. Zet de oplossing in de code.
- Gebruik de collide2D library om het afvangen van clicks te vergemakkelijken
- Meerpunten voor een tof design
- Het gaat bij deze opdracht om de combinaties van AND, NOT en OR. Deze logica. Check.
- Onderaan de pagina een opzetje.
Doe het beter
- maak zelf een spookhuis-achtergrond met 6 ramen
- maak een design op basis van een bekende televisie-spelshow
- hergebruik een dashboard uit bijv. formule 1, een vliegtuig oid
- gebruik geluiden
Let op
Als je een voldoende wilt, moet je ook de tussen-opdrachten uit de LA1 en LA2 toepassen, zoals eigen functies en collide2d.
Opzetje
Een overzichtelijk hoofdprogramma.
// 6 schakelaars
// elk op false zetten
let switch1; // 6x
// 6 lampen
let lamp1; // 6x
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
spookhuis();
knoppen();
lampen();
if (isOpgelost()) {
juichen();
}
}
function spookhuis() {}
function knoppen() {
fill("green")
rect(10,260,100,100)
}
function lampen() {
lamp1 = !switch1;
lamp(10, 10, lamp1);
}
function isOpgelost() {
// switch1 && ! switch2 && switch3 enz
return false;
}
function juichen() {}
function lamp(deX, deY, moetAan) {
if (moetAan) {
fill("yellow");
} else {
fill("grey");
}
rect(deX, deY, 100, 100);
}
function mousePressed() {
// switch1
// collidePointRect(pointX, pointY, x, y, width, height)
if (collidePointRect(mouseX, mouseY, 10, 260, 100, 100) ) {
// geklikt
switch1 = !switch1;
// console.log(switch1)
}
}