Source of: Bouncing Color Circle, by Command A+
32 lines, 4 of them comments ยท 2,078 tokens, written in 16 seconds for $0.0031
1 let x, y;
2 let vx, vy;
3 let colorR, colorG, colorB;
4
5 function setup() {
6 createCanvas(400, 400);
7 x = width / 2;
8 y = height / 2;
9 vx = random(2, 5);
10 vy = random(2, 5);
11 colorR = random(255);
12 colorG = random(255);
13 colorB = random(255);
14 }
15
16 function draw() {
17 background(240);
18 // Update position
19 x += vx;
20 y += vy;
21 // Bounce off edges
22 if (x < 0 || x > width) vx = -vx;
23 if (y < 0 || y > height) vy = -vy;
24 // Change color based on position
25 colorR = map(x, 0, width, 0, 255);
26 colorG = map(y, 0, height, 0, 255);
27 colorB = (colorR + colorG) % 255;
28 // Draw circle
29 fill(colorR, colorG, colorB);
30 noStroke();
31 ellipse(x, y, 50);
32 }