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