ArrayList<Car> traffic = new ArrayList<Car>();
float frogX = 400;
float frogY = 425;
int timer = 0;
void setup()
{
  size(800,500); 
  noCursor();
  int k=0;
  while( k<5 )
  {
    traffic.add( new Car() );
    k = k+1;

  }
}
void draw()
{
  background(255);
  
  frogX = mouseX;
  frogY = mouseY;
  if( frogGoesSmush() )
  {
    timer = 0;
    traffic.clear();
  }
  textSize(40);
  text(timer,700,100);
  timer += 1;
  if( timer % 200 == 0 )
  {
    traffic.add( new Car() );
  }
  drawFrog();
  
  drawAndMoveCars();
}

boolean frogGoesSmush()
{
  for(Car hotdog : traffic)
  {
    if( hotdog.mouseIsOnYou() )
    {
      return true;
    }
  }
  
  return false;
}

void drawFrog()
{
  fill(#00ff00);
  ellipse(frogX,frogY,50,50);
}
void drawAndMoveCars()
{
  for(Car c : traffic )
  {
    c.drawYourself();
    c.move();
  }
}
void mousePressed()
{
  for(Car c : traffic)
  {
    if( c.mouseIsOnYou() )
    {
      c.turnKey();
    }
  }
}