float GRAVITY = 0.02;
float ballX[] = new float[100];
float ballY[] = new float[100];
float speedX[] = new float[100];
float speedY[] = new float[100];
void setup() {
  size(400,600); 
  background(255);
  for (int i=0; i<100; i++) {
    ballX[i] = 200;    
    ballY[i] = 0;    
    speedX[i] = random(1);   
    speedY[i] = random(1);
  }
}
void draw() {
  background(255);
  for (int i=0; i<100; i++) {
    speedY[i] = speedY[i] + GRAVITY;
    ballY[i] = ballY[i] + speedY[i];
    ballX[i] = ballX[i] + speedX[i];

    if (ballY[i]>height) {
      speedY[i] = speedY[i] * -0.7;
      ballY[i] = height;
    }
    if (ballX[i]>width) {
      speedX[i] = speedX[i] * -0.9;
      ballX[i] = width;
    }
    else if (ballX[i]<0) {
      speedX[i] = speedX[i] * -0.9;
      ballX[i] = 0;
    }
ellipse(mouseX,mouseY,30,30);
    if (abs(mouseX-ballX[i])<25 && abs(mouseY-ballY[i])<25) {
      speedY[i] = speedY[i] * -0.98;
      speedX[i] = speedX[i] * -0.98;
      ballX[i] = ballX[i] + speedX[i]*35;
      ballY[i] = ballY[i] + speedY[i]*35;
      fill(255,0,0,80);
      ellipse(ballX[i],ballY[i],20,20);
    }
    else {
      fill(255,255,255);
      ellipse(ballX[i],ballY[i],10,10);
    }
  }
}

// 양민하