ArrayList<Car> traffic = new ArrayList<Car>(); float frogX = 400; float frogY = 500; float flyX = random(0,800); float flyY = random(0,600); int timer = 0; int score = 0; void setup() { size(800,600); noCursor(); int k=0; while(k<5) { traffic.add( new Car(random(0,400)) ); k = k+1; } } void draw() { background(255); timer++; if( timer%200 == 0) { traffic.add( new Car(random(0,600)) ); } fill(0); textSize(40); text(score,500,100); frogX = mouseX; frogY = mouseY; drawFrog(); if( frogIsDead() ) { frogX = 400; frogY = 500; traffic.clear(); score = 0; } for(Car c : traffic) { c.drawYourself(); c.move(); } fill(0); ellipse(flyX,flyY,20,20); if( dist(flyX,flyY, frogX,frogY) < 35 ) //frog is touching fly { flyX = random(0,800); flyY = random(0,600); score += 1; } } boolean frogIsDead() { for(Car c : traffic) { if( c.isThisPointOnYou( frogX, frogY ) ) { return true; } } return false; } void drawFrog() { fill(#00ff00); ellipse(frogX,frogY,50,50); } void keyPressed() { if( key == 'w' ) { frogY = frogY - 50; } if( key == 's' ) { frogY = frogY + 50; } if( key == 'a' ) { frogX = frogX - 50; } if( key == 'd' ) { frogX = frogX + 50; } } void mousePressed() { for(Car c : traffic) { if( c.isMouseOnYou() ) { c.changeYourEngine(); } } }