# Ghost Writing: Text, Arrays, Randomness

autopilot creativity

## Sketch: 2.0 Array + Index ```javascript // Array + Index! var NAMES = ["David", "Karin", "Sigrid", "Nanna", "Laura", "Maaike"]; var INDEX = 0; function setup() { createCanvas(400, 400); } function draw() { background(220); } function keyTyped() { if(key == 'x') { print("Hi " + NAMES[0] + "!"); } } // Reference: https://p5js.org/reference/ ``` ### 🤔 What are indices? ```javascript ["David", "Karin", "Sigrid", "Nanna", "Laura", "Maaikke"] <--- Array (var NAMES) | | | | | | 0 1 2 3 4 5 <--- indices (var INDEX) ``` ### 📚 Exercice 1. Modify sketch 2.0 so that: * When key 'k' is pressed then "Hi Karin!" is printed on the console * When key 's' is pressed then "Hi Sigrid!" is printed on the console * When key 'n' is pressed then "Hi Nanna!" is printed on the console * When key 'm' is pressed then "Hi Maaike!" is printed on the console 2. Modify sketch 2.0 so that: * Every time key 'x' is pressed then print the name of the following person in the array ("Hi David!", "Hi Karin!", "Hi Sigrid!", and so forth) ### 🤔 Who/what is "undefined"?

## Sketch: 2.1 Array + Index + Loop ```javascript // Array + Index + Loop! var NAMES = ["David", "Karin", "Sigrid", "Nanna", "Laura", "Maaike"]; var ACTIVITIES = ["piano", "tennis", "chess", "records"]; var INDEX = 0; function setup() { createCanvas(400, 400); } function draw() { background(220); } function keyTyped() { if(key == 'x') { for(let i = 0; i < 4; i++) { print(NAMES[INDEX] + " likes to play " + ACTIVITIES[i]); } } } // Reference: https://p5js.org/reference/ ``` ### 🤔 How do for-loops work? ```javascript for(let i = 0; i < X; i++) { // do_somethings(); } ``` where ```javascript let i = 0 // is the declaration and initialisation of the control variable (i) i < X //is the continuation condition: if the condition is true, then executed the statement in the loop [do_something();], exit the loop when the consition is false i++ //is the incremental (update) statement that is executed at the end of the loop (i.e. after the loop statement [do_something();] as been executed) ```