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(); } } }