// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com
// Example 9-9: An array of Car objects
Car[] cars = new Car[100]; // An array of 100 Car objects!
void setup() {
size(200,200);
smooth();
for (int i = 0; i < cars.length; i ++ ) { // Initialize each Car using a for loop.
cars[i] = new Car(color(i*2),0,i*2,i/20.0);
}
}
void draw() {
background(255);
for (int i = 0; i < cars.length; i ++ ) { // Run each Car using a for loop.
cars[i].move();
cars[i].display();
}
}
// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com
// Example 9-9: An array of Car objects
// The Car class does not change whether we are making one car, 100 cars or 1,000 cars!
class Car {
color c;
float xpos;
float ypos;
float xspeed;
Car(color c_, float xpos_, float ypos_, float xspeed_) {
c = c_;
xpos = xpos_;
ypos = ypos_;
xspeed = xspeed_;
}
void display() {
rectMode(CENTER);
stroke(0);
fill(c);
rect(xpos,ypos,20,10);
}
void move() {
xpos = xpos + xspeed;
if (xpos > width) {
xpos = 0;
}
}
}