Ahora hicimos una especie de 'videojuego' que lleva a cuenta la cantidad de cuadritos aleatoriamente generados que desaparecen al pasar por ellos el mouse en la ventana. Tiene más instrucciones complejas que el anterior y es mucho más dinámico, aquí el código tal cuál lo copiamos:
//DECLARACIÓN DE VARIABLES
float posX[];
float posY[];
int matados [];
float angulos [];
int numrect=500;
int puntaje=0;
PFont miletrica;
//CONFIGURACIÓN O 'SETUP'
void setup (){
size(400,400,P3D);
background(255);
noStroke();
posX=new float[numrect];
posY=new float[numrect];
angulos=new float[numrect];
matados=new int[numrect];
for(int i=0;i<numrect;i=i+1){
posX[i]=random(380);
posY[i]=random(30);
matados[i]=0;
angulos[i]=0;
}
//miletrica=loadFont("Univers45.vlw");
//textFont(miletrica,18);
}
//FUNCIONES
void draw(){
puntaje=0;
background(255);
for(int i=0;i<numrect;i=i+1){
posY[i]=posY[i]+random(0.01*i);
angulos[i]=angulos[i]+random(0.001*i);
}
for(int i=0;i<numrect;i=i+1){
if(matados[i]==0){
pushMatrix(); //esta variable declara que cada uno de los cuadritos se mueva independientemente.
translate(posX[i],posY[i]);
rotate(angulos[i]);
if(dist(mouseX,mouseY,posX[i],posY[i])<20){
fill(230,0,130,150);
matados[i]=1;
rect(0,0,20,20);
}
else{
fill(170+random(-60,60),130+random(-80,80),0);
rect(0,0,10,10);
}
popMatrix();
}
}
for(int i=0;i<numrect;i=i+1){
puntaje=puntaje+matados[i];
}
println(puntaje);
fill(230,0,130);
text("Puntaje:"+puntaje,10,390);
}


No hay comentarios:
Publicar un comentario