float redrad; int xr,xg,xb,xy,xbl; int yr=height; int yg=height/2; int yb=height/3; int yy=height/4; int ybl=height/2; int xrdir = (int)(random(20)); int yrdir = (int)(random(7)); int xgdir = 12; int ygdir = 5; int xbdir = 10; int ybdir = 8; int xydir = 2; int yydir = 4; int xbldir = 40; int ybldir = 45; float rpos; float speed; float rb; float distg; void setup() { framerate(40); smooth(); size(500,500); background(200,0,0); ellipseMode(CENTER_DIAMETER); framerate(40); } void loop() { background(0,102,255); noStroke(); greenBall(); orangeBall(); vioBall(); blackBall(); } void greenBall(){ fill(0,255,0); speed+=PI/60; float speedye = sin(speed)*sin(speed*2)*cos(speed*0.5); ellipse(xy+xy*speedye,yy+yy*speedye,30,30); xy= xy+xydir-int (speedye) ; yy= yy+yydir-int (speedye); if(xy>480) { xydir = -12; } else if(xy<0) xydir = 12; if(yy>480) yydir = -8; else if(yy<0) yydir = 8; } void orangeBall(){ fill(255,102,0); speed+=PI/60; float speedye = sin(speed)*sin(speed*2)*cos(speed*0.5); ellipse(xy+xy*speedye,yy+yy*speedye,30,30); xy= xy+xydir; yy= yy+yydir; if(xy>480) { xydir = -5; } else if(xy<0) xydir = 5; if(yy>480) yydir = -4; else if(yy<0) yydir = 4; } void vioBall(){ fill(255,0,102); speed+=PI/60; float speedye = sin(speed)*sin(speed*2)*cos(speed*0.5); ellipse(xy+xy*speedye,yy+yy*speedye,30,30); xy= xy+xydir; yy= yy+yydir; if(xy>480) { xydir = -7; } else if(xy<0) xydir = 7; if(yy>480) yydir = -6; else if(yy<0) yydir = 6; } void blackBall(){ fill(0,0,0); rect(xbl,ybl,25,25); xbl= xbl+xbldir; ybl= ybl+ybldir; if(xbl>480) { xbldir = -12; } else if(xbl<0) xbldir = 12; if(ybl>480) ybldir = -10; else if(ybl<0) ybldir = 10; }