Coches infinitos
int numcoches = 10;
Car[] cars = new Car[numcoches]; // Declaramos el arreglo de coches
void setup() {
size(800, 600);
// Inicializamos los coches en el ciclo
for (int i = 0; i < numcoches; i++) {
cars[i] = new Car(color(random(0, 255), random(0, 255), random(0, 255)),random(10, width - 10),random(10, height - 10),random(-5, 5));
}
}
void draw() {
background(255);
// Llamamos a las funciones de cada coche en el ciclo
for (int i = 0; i < numcoches; i++) {
cars[i].drive();
cars[i].display();
}
}
class Car {
color c;
float xpos;
float ypos;
float xspeed;
// El Constructor es definido con los argumentos
Car(color tempC, float tempXpos, float tempYpos, float tempXspeed) {
c = tempC;
xpos = tempXpos;
ypos = tempYpos;
xspeed = tempXspeed;
}
// Función para mostrar el coche
void display() {
stroke(0);
fill(c);
rectMode(CENTER);
rect(xpos, ypos, 20, 10); // Dibujamos el coche como un rectángulo
}
// Función para mover el coche
void drive() {
xpos += xspeed;
if (xpos > width) {
xpos = 0; // Si el coche sale por la derecha, vuelve a la izquierda
}
if (xpos < 0) {
xpos = width; // Si el coche sale por la izquierda, vuelve a la derecha
}
}
}
Comentarios
Publicar un comentario