-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsketch.js
More file actions
37 lines (32 loc) · 704 Bytes
/
sketch.js
File metadata and controls
37 lines (32 loc) · 704 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function setup() {
createCanvas(400, 400);
noLoop();
}
const notes = ['Do', 'Ré', 'Mi', 'Fa', 'Sol', 'La', 'Si'];
let note = null;
let state = -1;
function draw() {
background(256);
textSize(32);
state++;
if (state % 3 === 0) {
const current = note;
do {
note = random(notes)
} while (note === current);
}
const index = notes.indexOf(note);
text(note, 200, 200);
if (state % 3 > 0) {
text('→ ' + notes[(index + 1) % 7], 250, 200);
}
if (state % 3 > 1) {
text(notes[(index + 6) % 7] + ' ←', 120, 200);
}
}
function keyReleased() {
redraw();
}
function mouseReleased() {
redraw();
}