No arribaràs al minut

 

Programador: 

Albert Martínez Fernàndez

Instruccions:

On moguis el maus per la pantalla la pilota vermella et seguira i les boles blaves es mouran aleatoriament

Codi:

/*

Albert Martínez Fernàndez     No arribaràs al minut

*/

 

//variables globals

int Npilotatotal = 10;

int Npilotaactual = 5;

int contador      = 0;

int contadorOver  = 0;

float[] posicioX = new float[Npilotatotal];

float[] posicioY = new float[Npilotatotal];

float[] velX = new float [Npilotatotal];

float[] velY = new float [Npilotatotal];

float alpha;

float velocitat = 8;

boolean acabar = false;

int s = 0;

int m = 0;

 

void setup() {

 

 int i;

 //crear boles enemiges

 

 size(550, 550);

 

 for (i=0; i<Npilotatotal; i++) {

   posicioX[i] = random(0, 550);

 }

 for (i=0; i<Npilotatotal; i++) {

   posicioY[i] = random(0, 550);

 }

 for (i=0; i<Npilotatotal; i++) {

   velX[i] = random(-10, 10);

 }

 for (i=0; i<Npilotatotal; i++) {

   velY[i] = random(-10, 10);

 }

}

 

void draw() {

 

 int i;

//reiniciar el joc quant perds

 if (acabar) {

   contadorOver ++;

   background(0);

   textSize(32);

   fill(255);

   text(“GAME OVER”, 200, 275);

   text(m+”:”+s, 100, 100);

   if (contadorOver == 100) {

     contador = 0;

     Npilotaactual = 5;

     s = 0;

     m = 0;

     for (i=0; i<Npilotatotal; i++) {

       posicioX[i] = random(0, 550);

     }

     for (i=0; i<Npilotatotal; i++) {

       posicioY[i] = random(0, 550);

     }

     for (i=0; i<Npilotatotal; i++) {

       velX[i] = random(-10, 10);

     }

     for (i=0; i<Npilotatotal; i++) {

       velY[i] = random(-10, 10);

     }

     acabar = false;

     contadorOver = 0;

   }

   //creador del cronometre i de la teva pilota

 } else if (!acabar) {

   //boles

 

   background(0);

   fill(#FA1212);

   ellipse(mouseX, mouseY, 40, 40);

   fill(255);

   textAlign(100, 100);

   textSize(15);

   //delay(1000);

   if (s<=59) {

     text(m+”:”+s, 100, 100);

     s = s + 1;

   } else {

     m = m + 1;

     s = 0;

     text(m+”:”+s, 100, 100);

   }

   //crear el moviment de les pilotes

 

   for (i=0; i<Npilotaactual; i++) {

     posicioX[i] = velX[i]+posicioX[i];

     posicioY[i] = velY[i]+posicioY[i];

   }

 

   //rebot en pared

   for (i=0; i<Npilotaactual; i++) {

     if (posicioX[i]>550) {

       velX[i]=velX[i]*(-1)+ random(-2, 2);

       alpha = sqrt(sq(velX[i]) + sq(velY[i]));

       velX[i] = velocitat*velX[i]/alpha;

       velY[i] = velocitat*velY[i]/alpha;

     }

     if (posicioY[i]>550) {

       velY[i]=velY[i]*(-1)+ random(-2, 2);

       alpha = sqrt(sq(velX[i]) + sq(velY[i]));

       velX[i] = velocitat*velX[i]/alpha;

       velY[i] = velocitat*velY[i]/alpha;

     }

     if (posicioX[i]<0) {

       velX[i]=velX[i]*(-1) + random(-2, 2);

       alpha = sqrt(sq(velX[i]) + sq(velY[i]));

       velX[i] = velocitat*velX[i]/alpha;

       velY[i] = velocitat*velY[i]/alpha;

     }

     if (posicioY[i]<0) {

       velY[i]=velY[i]*(-1)+ random(-2, 2);

       alpha = sqrt(sq(velX[i]) + sq(velY[i]));

       velX[i] = velocitat*velX[i]/alpha;

       velY[i] = velocitat*velY[i]/alpha;

     }

     fill(#2303FC);

 

     ellipse(posicioX[i], posicioY[i], 40, 40);

 

     alpha = sqrt(sq(velX[i]) + sq(velY[i]));

   }

   //crear mes pilotes cada X temps

   if ((contador == 600)|| (contador == 1200) || (contador == 1800) || (contador == 2400) || (contador == 3000) || (contador == 3600)) {

     Npilotaactual=Npilotaactual + 1;

   }

  //mort de la teva pilota amb les enemiges

   for (i=0; i<Npilotaactual; i++) {

     if (dist(mouseX, mouseY, posicioX[i], posicioY[i]) < 40 ) {

       i=25;

       acabar = true;

       println(“tocat1”);

     }

   }

   contador ++;

 }

}

 

//temporitzador del game over i del reinici del joc

void gameover() {

 println(“toca3”);

 textSize(32);

 fill(255);

 text(“GAME OVER”, 200, 275);

 

}

Deja un comentario