int[][] particles; int s = 200; void setup() { smooth(); size(2*s, 2*s); fill(#333333); noStroke(); particles = new int[s][2]; reset(); frameRate(30); } void reset() { for (int i = 0; i < s; i++) { particles[i][0] = s/2; particles[i][1] = s/2; } } void mouseClicked() { reset(); } void draw() { background(#cccccc); for (int i = 0; i < s; i++) { int x = particles[i][0]; int y = particles[i][1]; rect(2*x, 2*y, 2, 2); float r = random(0, 2); if (r < 1) x--; else x++; r = random(0, 2); if (r < 1) y--; else y++; particles[i][0] = x; particles[i][1] = y; } }