Programador:
Alvaro Leva
Instruccions:
El joc consisteix en esquivar les pilotes que van sortint cada 10 segons i sobreviure el màxim temps possible.
/*
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;
}
}
}