PCT: Gaming

No arribaràs al minut

 

Programador:

Albert Martínez

Instruccions:

Ets la pilota vermella. La teva missió és esquivar les pilotes blaves. Intenta arribar al màxim temps possible sense que et matin. Sort!

 


Codi:

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

//variables globals

PImage backgr;
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);

backgr = loadImage(“galaxy.jpg”);

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);
image (backgr, 0, 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);
image (backgr, 0, 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;
}
}
contador ++;
}
}

//temporitzador del game over i del reinici del joc
void gameover() {
textSize(32);
fill(255);
text(“GAME OVER”, 200, 275);

}

Floreta

 

Programador:

Dani Moreno

Instruccions:

Mou el ratolí per sobre la finestra de l’sketch

 


Codi:

 

 

void setup() {
size(800, 600);
frameRate(60);
}

void draw() {
noCursor();
noStroke();
fill(255, 15);
rect(0, 0, width, height);
pushStyle();
translate(mouseX, mouseY);
rotate(frameCount);

stroke(255,255,255);
fill(150,255,150);
rect(0, 0, 25, 45, 3, 5, 25, 15);
popStyle();
}

Cercles i quadrats

 

Programador:

Àlex Alonso

Instruccions:

Mou el ratolí per sobre la finiestra de l’sketch.

 


Codi:

 

//CONFIGURACIÓ
void setup() {
size(800, 600);
noStroke();
rectMode(CENTER);
}

//DIBUIX
void draw(){

// Aquí ens posa el color del fons
background(51); 

//Aquí posem el color d’un dels quadrats
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150);

//Aquí dibuixem un dels quadrats
rect(mouseX, height/2, mouseY/2+10, mouseY/2+10);

//Aquí posem el color d’un dels quadrats
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150);

//Aquí invertim les coordenades del mouse X
int inverseX = width-mouseX;

//Aquí invertim les coordenades del mouse Y
int inverseY = height-mouseY;

//Aquí dibuixem l’alte quadrat
rect(inverseX, height/2, (inverseY/2)+10, (inverseY/2)+10);
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //1.1
ellipse(mouseX+100, height/2 – 100, mouseY/2+10, mouseY/2+10);
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //1.2
ellipse(mouseX+100, height/2 + 100, mouseY/2+10, mouseY/2+10);
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //1.3
ellipse(mouseX-100, height/2 – 100, mouseY/2+10, mouseY/2+10);
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //1.4
ellipse(mouseX-100, height/2 + 100, mouseY/2+10, mouseY/2+10);
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //2.1
ellipse(inverseX + 100, height/2 – 100, (inverseY/2)+10, (inverseY/2)+10);
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //2.2
ellipse(inverseX + 100, height/2 + 100, (inverseY/2)+10, (inverseY/2)+10);
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //2.3
ellipse(inverseX – 100, height/2 – 100, (inverseY/2)+10, (inverseY/2)+10);
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //2.4
ellipse(inverseX – 100, height/2 + 100, (inverseY/2)+10, (inverseY/2)+10);
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150);
rect(400, inverseY, (inverseX/2)+10, (inverseX/2)+10);ç

//Aquí posem el color d’un dels quadrats
fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150);
rect(400, mouseY, mouseX/2+10, mouseX/2+10);//Aquí dibuixem un dels quadrats
}

Tub de colors

 

Programador:

Martí Aymerich i Eduard Pérez

Instruccions:

Les el·lipses d’aquest programa es creen indefinidadment augmentant o disminuint depenen de si cliques el botó esquerre. Fes un reset clicant al botó dret.

 


Codi:

 

//Aquí definim les variables//
float z=0;
float a=2;
float b=1;
float E= sqrt(1-sq(b/a));
float frame;
float alfa =0.02;
float beta=0.01;

void setup() {
background(0);
size(800, 600);
fill(1, 0.01);
strokeWeight(2.5);
}
//Aquí es dibuixen les melipses//
void draw() {
//Aquí es defineix la posició i el color//

translate(mouseX, mouseY);
stroke(color(int(random(0256)), int(random(0256)), int(random(0256))));
//Ara aquí es dibuixa la elipse feta amb punts//
for (int i=0; i<126; i++) { if (frame%10==0) { float r; r= b / sqrt ( 1 - sq(E*cos(z))); float X= r*cos(z); float Y= r*sin(z); point(X, Y); //Aquí es modifiquen les variables// z=z+0.05; a=a+alfa; b=b+beta; } } } //I per últim aquesta part el botó esquerre permet canviar el signe de alfa i beta (passar-les de positiu a negatiu i viceversa), i el botó dret borra tot el que hi ha a la pantalla// void mousePressed() { if (mouseButton == LEFT) { alfa=alfa*-1; beta=beta*-1; } else if (mouseButton == RIGHT) { background(0); z=0; a=2; b=1; } }

Què pintes aquí?

 

Programador:

Ferran Piñol

Instruccions:

Clica el botó esquerra del ratolí per pintar i veuràs com mica en mica es forma una imatge. Has de tenir una mica de paciència, però val la pena. Pots reiniciar el dibuix i canviar d’imatge amb el botó dret.

 


Codi:

 

PImage Image;
void setup()
{
float a=random(0, 1);//Aquí hi han les imatges que hi poden apareixer
if (a>0.90) {
Image = loadImage(“Alakazam.png”);
}
if (a>0.80 && a<0.90) {
Image = loadImage(“Bulbasaur.png”);
}
if (a>0.70 && a<0.80) {
Image = loadImage(“Haunter.png”);
}
if (a>0.60 && a<0.70) {
Image = loadImage(“Metapod.png”);
}
if (a>0.50 && a<0.60) {
Image = loadImage(“PIKACHU.png”);
}
if (a>0.40 && a<0.50) {
Image = loadImage(“Raticate.png”);
}
if (a>0.30 && a<0.40) {
Image = loadImage(“Sandshdrew.png”);
}
if (a>0.20 && a<0.30) {
Image = loadImage(“Spearow.png”);
}
if (a>0.10 && a<0.20) {
Image = loadImage(“Squirtle.png”);
}
if (a<0.10) {
Image = loadImage(“Charmander.png”);
}// Les probabilitats de que surtin cada una de les fotos és de 1/10.
size(800, 800);
noStroke();
smooth();
background(255);
}
void draw()
{
if (mousePressed)
{
float x, y, d;
x=random(-15, 15); //Fa referència a la aproximació que agafarà com a color.
y=random(-15, 15); //El mateix que abans però les coordenades de Y.
d=random(10, 20); //És la grandaria que tindrà.
color Color=Image.get(int(mouseX+x), int(mouseY+y));
fill(Color, 150);
ellipse(mouseX+x, mouseY+y, d, d);
}
}

void mousePressed() {
if (mouseButton == RIGHT) {
background(255);
float a=random(0, 1);//Aquí hi han les imatges que hi poden apareixer
if (a>0.90) {
Image = loadImage(“Alakazam.png”);
}
if (a>0.80 && a<0.90) {
Image = loadImage(“Bulbasaur.png”);
}
if (a>0.70 && a<0.80) {
Image = loadImage(“Haunter.png”);
}
if (a>0.60 && a<0.70) {
Image = loadImage(“Metapod.png”);
}
if (a>0.50 && a<0.60) {
Image = loadImage(“PIKACHU.png”);
}
if (a>0.40 && a<0.50) {
Image = loadImage(“Raticate.png”);
}
if (a>0.30 && a<0.40) {
Image = loadImage(“Sandshdrew.png”);
}
if (a>0.20 && a<0.30) {
Image = loadImage(“Spearow.png”);
}
if (a>0.10 && a<0.20) {
Image = loadImage(“Squirtle.png”);
}
if (a<0.10) {
Image = loadImage(“Charmander.png”);
}
}
}

El·lipses boges

 

Programador:

Maria Basco

Instruccions:

Mou el ratolí per sobre la finestra de l’sketch i veuràs com canvienles el·lipses boges.

 


Codi:

Cercles c;

// Si tiras el ratolí amunt a la dreta el dibuix creix
void setup() {
size(800, 600);
c=new Cercles();
frameRate(30.0);
}

void draw() {
background(255);
translate(300, 300);
smooth();
c.display();
}
ArrayList <PVector> cercle;
ArrayList <PVector> b;

class Cercles {
Cercles() {
cercle = new ArrayList <PVector>();
b = new ArrayList <PVector>();

for (int i=0; i<150; i++) {

cercle.add(new PVector(random(-20, 30), random(-20, 30)));
b.add(new PVector(random(10, 20), 10));
}
}

void display() {
for (int i=1; i<50; i++) {
PVector a= cercle.get(i-1);
PVector c= b.get(i);
fill(255);
stroke(0);
strokeWeight(i/5);
rotate(frameCount/(10*i*i*1.0));
ellipse(0, 0, 5+frameCount*map(mouseX, 0, 600, 0, 10)/i, 5+frameCount*map(mouseY, 0, 600, 0, 10)/i);
//controla el moviment de l’elipse

fill(0);
}
}
}

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);

 

}

Mirall de lineas

 

Programador:

Gil Espada   i    Liam Viader

Instruccions:

Dibuix en mirall de lineas en 16 lineas.

Codi:

void setup() {

 size(800, 800);

 background(0);

 //Inicialitzem la pantalla

}

 

void draw() {

 if (mousePressed && (mouseButton == LEFT)) {

strokeWeight(5);

//Si el butó esquerra està apretat s’asigna la mida de la línea a 30.

stroke(mouseX, mouseY-mouseX, mouseY, 100);

//També si està apretat el color de la linea cambia depenent de l’eix on tinguis el mouse, i assignem la transparència a 100, per tant depenet de la velocitat del mouse, es veu d’una manera o altra.

 } else if (mousePressed && (mouseButton == RIGHT)) {

background(0);

stroke(0);

//Si està apretat el botó dret, s’esborra la pantalla.

 } else {

noStroke();

 }

 float alpha =PI*3/8;

 strokeWeight(7);

//a continuació estàn els punts de les diferents lineas que s’insereixen.

 line(width-mouseX, mouseY, width-pmouseX, pmouseY);

 line(mouseX, mouseY, pmouseX, pmouseY);

 line(mouseX, height-mouseY, pmouseX, height-pmouseY);

 line(width-mouseX, height-mouseY, width-pmouseX, height-pmouseY);

 line(width-mouseY, mouseX, width-pmouseY, pmouseX);

 line(mouseY, mouseX, pmouseY, pmouseX);

 line(mouseY, height-mouseX, pmouseY, height-pmouseX);

 line(width-mouseY, height-mouseX, width-pmouseY, height-pmouseX);

 

 alpha =PI*3/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

 

 alpha = PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

alpha = 5*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

alpha = 7*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

    alpha = 9*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

    alpha = 11*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

    alpha = 13*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

    alpha = 15*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

     

}

Onades

 

Programador: 

Alvaro Salinas

Instruccions:

Onades interactives que es mouen segons la posició del ratolí a la pantalla.

 


Codi:

color[] Color=new color[10];

void setup() {

for (int i=0; i<10; i++) {

 Color[i]= color(random(0,255),random(0,255),random(0,255));

}

 strokeWeight(2);

 size(800, 600);

}

void draw() {

 background(0);

 //declaro variables per calcular les onades

 float a = 0.0;

 float inc = TWO_PI/25.0;

//dibuixar lineas

 for (int i=0; i<10; i++) {

stroke(Color[i]);

float prev_x = 0, prev_y = 50, x, y;

a = 0;

for (int j=0; j<800; j=j+4) {

  x = j;

  y = i*80 + sin(a*((map(mouseX,0,width,0, 502)*0.05)+(mouseY*0.05))) * 40.0;

  line(prev_x, prev_y, x, y);

  prev_x = x;

  prev_y = y;

  a = a + inc;

}

 }

}

Creant efectes movent el ratolí ràpidament

 

Programador: 

Àlex Alonso

Instruccions:

Son dos quadrats que si es mouen amb la posició de ratolí i també canvien de color amb la mateixa posició. Si es mou el ratolí ràpidament es pot crear un efecte molt xulo!


 

Codi:

//CONFIGURACIÓ

void setup() {

 size(800, 600);

 noStroke();

 rectMode(CENTER);

}

 

 //DIBUIX

void draw(){

 background(51); // Aquí ens posa el color del fons

 fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //Aquí posem el color d’un dels quadrats

 rect(mouseX, height/2, mouseY/2+10, mouseY/2+10);//Aquí dibuixem un dels quadrats

 fill(map(0,600,0,255,height-mouseY),map(0,800,0,255,mouseX),map(0,600,0,255,mouseY), 150); //Aquí posem el color d’un dels quadrats

 int inverseX = width-mouseX; //Aquí invertim les coordenades del mouse X

 int inverseY = height-mouseY; //Aquí invertim les coordenades del mouse Y

 rect(inverseX, height/2, (inverseY/2)+10, (inverseY/2)+10); //Aquí dibuixem l’alte quadrat

}

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;

   }

 }

}

 

Programador: 

Jaume Mas

Instruccions:

Utilitza les tecles amb fletxes per a moure la nau. (si no funciona, clica primer amb el ratolí sobre l’sketch.)

 


Codi:

PImage tie;
float x, y, vel=10;
void setup() {
 size(900, 600);  
 tie = loadImage(“caza_tie3.png”);
}

 

void draw () {
 background(0);
 if (keyPressed) {
   if (key == CODED) {
     if (keyCode ==LEFT) {
       x = x-vel;
     }
     if (keyCode ==RIGHT) {
       x = x+vel;
     }
     if (keyCode ==UP) {
       y = y-vel;
     }
     if (keyCode ==DOWN) {
       y = y+vel;
     }
   }
 }
 image(tie, x, y);
}

Mirall de línies

Programadors: 

Gil Espada i Liam Viader

Instruccions:

Dibuixa línies clicant al botó esquerra, fes un reset clicant al botó dret.

 


Codi:

void setup() {
size(800, 800);
background(0);
//Inicialitzem la pantalla
}

void draw() {
if (mousePressed && (mouseButton == LEFT)) {
strokeWeight(5);
//Si el butó esquerra està apretat s’asigna la mida de la línea a 30.
stroke(mouseX, mouseY-mouseX, mouseY, 100);
//També si està apretat el color de la linea cambia depenent de l’eix on tinguis el mouse, i assignem la transparència a 100, per tant depenet de la velocitat del mouse, es veu d’una manera o altra.
} else if (mousePressed && (mouseButton == RIGHT)) {
background(0);
stroke(0);
//Si està apretat el botó dret, s’esborra la pantalla.
} else {
noStroke();
}
float alpha =PI*3/8;
strokeWeight(7);
//a continuació estàn els punts de les diferents lineas que s’insereixen.
line(width-mouseX, mouseY, width-pmouseX, pmouseY);
line(mouseX, mouseY, pmouseX, pmouseY);
line(mouseX, height-mouseY, pmouseX, height-pmouseY);
line(width-mouseX, height-mouseY, width-pmouseX, height-pmouseY);
line(width-mouseY, mouseX, width-pmouseY, pmouseX);
line(mouseY, mouseX, pmouseY, pmouseX);
line(mouseY, height-mouseX, pmouseY, height-pmouseX);
line(width-mouseY, height-mouseX, width-pmouseY, height-pmouseX);

alpha =PI*3/8;
line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2, -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,
cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

alpha = PI/8;
line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2, -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,
cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);
alpha = 5*PI/8;
line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2, -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,
cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);
alpha = 7*PI/8;
line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2, -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,
cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);
alpha = 9*PI/8;
line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2, -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,
cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);
alpha = 11*PI/8;
line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2, -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,
cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);
alpha = 13*PI/8;
line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2, -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,
cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);
alpha = 15*PI/8;
line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2, -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,
cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

}

Tie Explore

Programador: 

Jaume Mas

Instruccions:

Utilitza les tecles amb fletxes per a moure la nau. (si no funciona, clica primer amb el ratolí sobre l’sketch.)

 


Codi:

PImage tie;
float x, y, vel=10;
void setup() {
 size(900, 600);  
 tie = loadImage(“caza_tie3.png”);
}

 

void draw () {
 background(0);
 if (keyPressed) {
   if (key == CODED) {
     if (keyCode ==LEFT) {
       x = x-vel;
     }
     if (keyCode ==RIGHT) {
       x = x+vel;
     }
     if (keyCode ==UP) {
       y = y-vel;
     }
     if (keyCode ==DOWN) {
       y = y+vel;
     }
   }
 }
 image(tie, x, y);
}