In de vorige oefening heb je gewerkt met de stuiterende bal. En toen nog een. Jolaho.

Nu gaan we een hele bak vol stuiterende ballen maken.

Voorbeeld code

let myBall;
let myBallBin;

function setup() {
  createCanvas(400, 400);
  myBall = new bouncingBall(10, 10, 3, 2, "purple", "");
  myBallBin = [myBall];
}

function draw() {
  background(220);
  myBall.draw();
  for (let i = 0; i < myBallBin.length; i++) {
    myBallBin[i].draw();
  }
}
function keyPressed() {
  if (key === "n") {
    let newBall = new bouncingBall(
      10,
      14,
      random(0, 5),
      random(5, 10),
      "yellow"
    );
    myBallBin.push(newBall);
    console.log("new");
  }
}

Toevoegen aan de array

Dit is dus hoe het gaat:

  • je maakt een array myBallBin = [myBall]
  • er zit maar 1 bal in de ballenbak
  • als je op de n drukt komt er een nieuwe bouncingBall dankzij let newBall = new bouncingBall(10,14,random(0, 5), random(5, 10), "yellow" );
  • de nieuwe bal newBall wordt met push toegevoegd aan myBallBin.
  • de draw is aangepast met een for-loop over alle elementen van het array

Maak de volgende deelopdrachten allemaal in dezelfde sketch

Opdracht 1 Aanpassingen aan de newBall

  • Pas de keyPressed aan zodat er niet allemaal dezelfde gele ballen komen maar telkens ballen met random x en random y-speed – binnen bepaalde grenzen. Gebruik bijvooorbeeld random(1,10)
  • Maak een array met een beperkt aantal kleuren en kies hieruit een random kleur

Opdracht 2: Op 2 manieren deleten

In de Javascript Reference op MDN worden 3 manieren beschreven om elementen uit de array te wissen. We doen er 2.

  • Met de letter ‘p’ pop je het laatste element van de array.
  • Met de letter ‘h’ shift je het eerste element uit de array.
  • Met de letter ‘c’ laat je de array splicen. Geef als parameter mee de index van het element dat je verwijdert