// Este es ejemplo de sistema complejo, en donde un grupo muy grande de hormigas (representadas por cículos // pequeños negros) son comidas por una círculo rojo. Las comidas quedan en el camino de color gris. // Haciendo click la escena aranca de cero. // Tanto las hormigas como el círculo rojo están hechas con el mismo objeto y sólo difieren en el tipo // de ordenes que recibe por parte del programa principal (void loop). // // Emiliano Causa // Julio 2006 // www.emiliano-causa.com.ar //---------------------------------------------------------- Hormiga[] estaHormiga; //define un verctor de objetos "Hormiga" int canti; //define la cantidad de hormigas int voraz; //con esta variable se define cuál será la hormiga roja que comerá a las demás //---------------------------------------------------------- void setup(){ size(600,400); canti = 3000; //cantidad de hormigas voraz = canti - 1; //la última hormiga es el círculo rojo que comerá a las demás (la voraz) estaHormiga = new Hormiga[canti]; //genera el espacio de memoria para el vector iniciarTodo(); //ejecuta una función que inicializa las variables } //---------------------------------------------------------- void loop(){ background(250); for(int i=0 ; i width ? 0 : x); //revisa si se pasa de los bordes para hacerla reingresar por el borde opuesto (espacio Toroidal) x = (x < 0 ? width : x); y = (y > height ? 0 : y); y = (y < 0 ? height : y); } } void dibujar(){ //dibuja la hormiga noStroke(); ellipseMode(CENTER_DIAMETER); if(estaViva){ fill(relleno); //si esta viva la pinta del color de relleno }else{ fill(155,50); //si esta muerta la pinta de gris transparente } ellipse( this.x , this.y , radio * 2 , radio * 2 ); //dibuja el círculo de la hormiga } }