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)
  }
}