class CAR { color colour; float x; float y; float v; float a; float angle; float maxspeed; CAR(color colourTemp, float xPos, float yPos, float velocity, float acceleration, float angleTemp, float maxspeedTemp) { colour = colourTemp; x = xPos; y = yPos; v = velocity; a = acceleration; angle = angleTemp; maxspeed = maxspeedTemp; } void move(){ x+=v; if (x>width){ x = 0; } } void display(){ fill(colour); rect(x,y,50,20); } } int nCarsMade = 0; CAR [] carsArray; int col = 1000; void setup(){ size(400,400); carsArray = new CAR[col]; noStroke(); rectMode(CENTER); } void draw(){ background(0); for (int x=0; x0){ carsArray[x].colour = color(0,255,0); } else { carsArray[x].colour = color(255,0,0); } carsArray[x].angle+=0.1; carsArray[x].move(); carsArray[x].display(); } } void mousePressed(){ if (nCarsMade!=col){ carsArray[nCarsMade] = new CAR(color(0,0,0),mouseX,mouseY,0,random(10),random(TWO_PI),random(10)); nCarsMade +=1; } }