Kollision game: try to survive

Programador: 

Alvaro Leva

Instruccions:

El joc consisteix en esquivar les pilotes que van sortint cada 10 segons i sobreviure el màxim temps possible.


 

Codi:

/*  

Variables per establir el número de pilotes.

*/

int pilotesTotal = 20;

int pilotes = 5;

/*

Variables per la posició i velocitat de cadascuna de les pilotes.  

*/

float[] posX  = new float[pilotesTotal];

float[] posY  = new float[pilotesTotal];

float[] velX1 = new float[pilotesTotal];

float[] velY1 = new float[pilotesTotal];

/*

Variable per crear la pantalla “GAME OVER”.

*/

boolean gameover = false;
/*

Variables per assignar una imatge com a fons.

*/

PImage background;

PImage backgroundGM;
/*

Variables segons/minuts pel contador.

*/

int s = 0;

int m = 0;
void setup () {
 /*

Selecció de la imatge de fons.

*/

 background = loadImage(“FONDICO.png”);

 backgroundGM = loadImage(“FONDICOgm.jpg”);

 image (background, 0, 0);

 size(800, 600);

/*

Assignar posició i velocitat.

*/

 int i;

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

   posX[i] = width/2;

   posY[i] = height/2;

 }
 for (i=0; i<pilotesTotal; i++) {

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

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

 }

}

void draw() {

 image (background, 0, 0);

/*

Codi per establir que dibuixar a la pantalla de joc.

*/

 int i;

 int radi = 30;
 if (gameover == false) {

   if (s<=59) {

     textSize (50);

     fill(255);

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

     s = s + 1;

   } else {

     m = m + 1;

     s = 0;

     fill(255);

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

   }

   

/*

Codi per establir que dibuixar a la pantalla “GAME OVER”.

*/

 } else {
   image (backgroundGM, 0, 0);

   pilotes=0;

   textSize(120);

   fill(210, 0, 0);

   text(“GAME OVER”, 40, 300);

   fill(255);

   textSize(50);

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

   text(“CLICK MOUSE TO RESTART”, 80, 500);

  

   

/*

Codi per reiniciar el joc.

*/

   if (mousePressed) {
     pilotes=5;

     for (i=0; i<pilotes; i++) {
       posX[i] = posX[i] + velX1[i];

       posY[i] = posY[i] + velY1[i];
       for (i=0; i<pilotesTotal; i++) {

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

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

       }

       gameover = false;
       m=0;

       s=0;
       frameCount=0;

     }

   }

 }

 fill (255);

 ellipse (mouseX, mouseY, 30, 30);

 fill(0, 128, 128);
 for (i=0; i<pilotes; i++) {

   posY[i] = posY[i] + velY1[i];

 }

/*

Rebot de les pilotes a la pared.

*/

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

   ellipse(posX[i], posY[i], radi, radi);

   posX[i] = posX[i] + velX1[i];

   if (posX[i]>=800) {

     velX1[i]=velX1[i]*(-1);

   }

   if (posY[i]<=0) {

     velY1[i]=velY1[i]*(-1);

   }

   if (posY[i]>=600) {

     velY1[i]=velY1[i]*(-1);

   }
   if (posX[i]<=0) {

     velX1[i]=velX1

       [i]*(-1);

   }
   if (posX[i]==velX1[i]) {

     velX1[i]=velX1

       [i]*(-1);

   }

 }

 

/*

AFEGIR PILOTES AMB EL TEMPS

*/
 if ((frameCount == 600) || (frameCount== 1200) || (frameCount == 1800) ) {

   pilotes++;

 }

/*

Quan cambiar a la pantalla “GAME OVER”.

*/

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

   if (dist (mouseX, mouseY, posX[i], posY[i]) <= radi) {

     i=25;

     gameover = true;

   }

 }

}

 

Deja un comentario