Les 9 - arrays herhaling en for-loops


Hier is de presentatie van deze les Javascript les 9- for loops.pdf

en hier is de code die Nathan heeft geschreven in de les:

let words = ["never", "gonna", "give", "you", "up","never","gonna","let","you","down"];
let lyrics = [];
// let xPosities = [100, 200, 300, 400, 500,600,700,800,900,1000];
let balIndex = 0; //waar is de bal in de zin
let wordsInLyrics = 10; //hoeveel woorden willen we in lyrics

function setup() {
  //plaats hier de code die maar ÊÊn keer hoeft te worden uitgevoerd
  createCanvas(1200,400);
  background(255);
  textSize(30);
  textAlign(CENTER,CENTER)

  for (let i = 0; i < words.length; i++) {
    //maak een random getal tussen 0 en de lengte van words
    let randomIndex = floor(random(0,words.length));
    print(randomIndex);
    // words.slice(randomIndex,1);
    let randomWord = words[randomIndex]; //haal een woord uit de words lijst
    print("randomWord = " + randomWord)
    lyrics.push(randomWord); //voeg randomWord aan het einde van de lijst toe
    print("lyrics is nu: " + lyrics);
  }
}

function draw() {
  //plaats hier de code die continue herhaald moet worden.
  background(255);
  fill(0,0,0);
  for (let i = 0; i < lyrics.length; i++) {
    //dit wordt dus herhaalt

    //check voor ieder woord in de lijst of de balindex op dit woord staat
    if (i === balIndex) {
      fill(255,0,0); //als de bal hier is, teken hem rood
    } else {
      fill(0);//anders teken de tekst in het zwart
    }

    //teken het i'ste woord uit lyrics op positie (i * 100) + 100
    text(lyrics[i],(i * 100) + 100, height * 0.8);
  }
  fill(0,0,255);
  //teken de bal op de x positie van een woord
  circle((balIndex + 1) * 100,height / 2 - 30, 17);
}

function keyPressed() { 
  print(key);
  print("keyCode " + keyCode);

  if (key >= 1 && key <= lyrics.length) { 
    balIndex = key - 1;
  }

  if(keyCode === 32) {
    print("Dit is spatiebalk ")
    // balIndex = floor(random(words.length));
    balIndex = balIndex + 1; //voeg 1 bij balIndex toe
    if (balIndex > lyrics.length - 1) { //check of balIndex niet te groot is
      balIndex = 0; //reset balIndex naar het begin van de zin
    }
    // balIndex = balIndex % lyrics.length;
  }
}

function mousePressed() { 
  lyrics = [];//maak lyrics leeg
  for (let i = 0; i < words.length; i++) {
    //maak een random getal tussen 0 en de lengte van words
    let randomIndex = floor(random(0,words.length));
    print(randomIndex);
    let randomWord = words[randomIndex]; //haal een woord uit de words lijst
    print("randomWord = " + randomWord)
    lyrics.push(randomWord); //voeg randomWord aan het einde van de lijst toe
    print("lyrics is nu: " + lyrics);
  }
}