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,
  switch2,
  switch3,
  switch4,
  switch5,
  switch6 = false;

// 6 lampen
let lamp1,
  lamp2,
  lamp3,
  lamp4,
  lamp5,
  lamp6 = false; // 6x

function setup() {
  createCanvas(500, 500);
}

function draw() {
  background(220);
  spookhuis();
  knoppen();
  lampen();
  if (isOpgelost()) {
    juichen();
  }
}
function spookhuis() {}

function knoppen() {
  // switch1
  fill("green");
  rect(10, 400, 75, 75);
}
function lampen() {
  if (switch1) {
    fill("orange");
  } else {
    fill("antracite");
  }
  square(100, 100, 50); // lamp1
}
function isOpgelost() {
  // maak je eigen oplossing
  // return (lamp1 && lamp2 && lamp3 etc)
  return false; //
}
function juichen() {}


function mousePressed() {
  // switch1
  // collidePointRect(pointX, pointY, x, y, width, height)
 // zie functie knoppen
  
  // knop1
  if (collidePointRect(mouseX, mouseY, 10, 400, 75, 75)) {
    // geklikt
   // switch1 = !switch1;
    // lamp1 = doe iets
    console.log("knop 1 geklikt")
  }
}