point p[]; [setup, 400, 400]{ p = new point[100]; for(int i = 0; i < p.length; ++i){ int x = i % 10; int y = i / 10; p[i] = new point(100+x*20, 100+y*20); } } [paint]{ clearAll(); for(int i = 0; i < p.length; ++i){ fillOval(p[i], 10, 10); } } [always]{ for(int i = 0; i < p.length; ++i){ double dist = p[i].distanceTo(mouseX, mouseY); double f = 0; if(dist < 100) f = 100-dist; double dire = p[i].directionTo(mouseX, mouseY)+Math.PI; p[i].push(f*0.3, dire); int x = i % 10; int y = i / 10; p[i].pushTo(100+x*20, 100+y*20); } }