Circle Shadow

int d=0;
int x=int(random(200,400));
int y=int(random(200,400));
int r=int(random(50,200));

void setup(){
  size(600,600);
  background(255);
  colorMode(RGB,100);
  frameRate(40);
  smooth();
  noStroke();
}

void draw(){
  noStroke();
  if(0<=d && d<=4){
    int ar=int(random(-200,200));
    int ax=int(random(-100,100));
    int ay=int(random(-100,100));
    x+=ax;
    y+=ay;
    r+=ar;
    if(x<=0 || x>=600){
      x=int(random(200,400));
    }
    if(y<=0 || y>=600){
      y=int(random(200,400));
    }
    if(r<=50 || y>=200){
      r=int(random(50,200));
    }
  }
  fill(0,10);
  ellipse(x,y,r-d,r-d);
  d=(d+5)%r;
  fill(100,10);
}

void mousePressed(){
  int wr=int(random(50,300));
  fill(100);
  ellipse(mouseX,mouseY,wr,wr);
}