/* built with Studio Sketchpad:
* https://sketchpad.cc
*
* observe the evolution of this sketch:
* https://studio.sketchpad.cc/sp/pad/view/ro.5q-gBOaUm2L/rev.40
*
* authors:
* Natalia Valencia
* license (unless otherwise specified):
* creative commons attribution-share alike 3.0 license.
* https://creativecommons.org/licenses/by-sa/3.0/
*/
/* @pjs preload="/static/uploaded_resources/p.14209/SPACECRAFT.png"; */
/* @pjs preload="/static/uploaded_resources/p.14209/Alien.png"; */
/* @pjs preload="/static/uploaded_resources/p.14209/fondo-oscuro.jpg"; */
/* @pjs preload="/static/uploaded_resources/p.14209/SpaceInvaders_logo.png"; */
Rain rain;
Logo logo;
Ship ship;
Ship2 ship2;
Invaders invaders;
PImage fondo;
void setup()
{
size(800, 400);
fondo=loadImage("/static/uploaded_resources/p.14209/fondo-oscuro.jpg");
rain = new Rain();
logo = new Logo();
ship = new Ship();
ship2 = new Ship2();
invaders = new Invaders();
}
void draw ()
{
image(fondo,0,0,800,400);
rain.dibujar();
rain.mover();
logo.dibujar();
logo.mover();
ship.dibujar();
ship.mover();
ship2.dibujar();
ship2.mover();
invaders.dibujar();
invaders.mover();
}
class Invaders
{
int numInvaders= 2;
float []posx = new float[numInvaders];
float []posy = new float[numInvaders];
float []velx = new float[numInvaders];
float []vely = new float[numInvaders];
PImage i;
Invaders()
{
//posx = 30;
//posy = 110;
//vely = 7;
//velx = 9;
i= loadImage("/static/uploaded_resources/p.14209/Alien.png");
}
void dibujar()
{
int posInvaders = 0;
image(i,posx[posInvaders],posy[posInvaders],90,90);
while (posInvaders<numInvaders)
{
posx[posInvaders] = random(0, width);
posy[posInvaders] =random(0, height);
velx[posInvaders] = random(1,1);
vely[posInvaders] = random(1,1);
posInvaders +=1;
}
}
void mover()
{
int posInvaders = 0;
posx[posInvaders] =posx[posInvaders] +velx[posInvaders];
posy[posInvaders] =posy[posInvaders] +vely[posInvaders];
if(posx[posInvaders]>width)
{
velx[posInvaders] =- 1;
}
if(posx[posInvaders]<0)
{
velx[posInvaders]= 1;
}
if(posy[posInvaders]>height)
{
vely[posInvaders] =- 1;
}
if(posy[posInvaders]<0)
{
vely[posInvaders]= 1;
}
}
}
class Logo
{
float posx;
float posy;
float velx;
float vely;
PImage l;
Logo()
{
posx = 200;
posy = 200;
vely = 1;
l= loadImage("/static/uploaded_resources/p.14209/SpaceInvaders_logo.png");
}
void dibujar()
{
image(l,posx,posy);
}
void mover()
{
posy = posy - vely;
if (posy<0)
{
posy = 800;
}
if (posy> 800)
{
posy = 0;
}
}
}
class Rain
{
int numRain= 300;
float[] posx = new float[numRain];
float[] posy = new float[numRain];
float[] vel = new float[numRain];
void dibujar ()
{
int posRain = 0;
while (posRain<numRain)
{
posx[posRain] = random(0, width);
posy[posRain] =random(0, height);
vel[posRain] = random(5,5);
posRain +=1;
}
}
void mover()
{
int posRain = 0;
while (posRain < numRain)
{
fill(random (255),random (255),random (255)*vel[posRain],200);
ellipse(posx[posRain], posy[posRain],vel[posRain],vel[posRain]);
posy[posRain] += vel[posRain]/2;
noStroke();
if (posy[posRain] > height)
{
posy[posRain] = 0;
}
posRain +=1;
}
}
}
class Ship
{
int posx;
int posy;
int velx;
int vely;
PImage s;
Ship()
{
posx = 30;
posy = 110;
vely = -1;
velx = 1;
s= loadImage("/static/uploaded_resources/p.14209/SPACECRAFT.png");
}
void dibujar()
{
image(s,posx,posy,200,100);
}
void mover()
{
posx =posx +velx;
posy =posy +vely;
if(posx>width)
{
velx =- 1;
}
if(posx<0)
{
velx= 1;
}
if(posy>height)
{
vely =- 1;
}
if(posy<0)
{
vely= 1;
}
}
}
class Ship2
{
int posx;
int posy;
int velx;
int vely;
PImage s;
Ship2()
{
posx = 400;
posy = 200;
vely = 1;
velx = 1;
s= loadImage("/static/uploaded_resources/p.14209/SPACECRAFT.png");
}
void dibujar()
{
image(s,posx,posy,200,100);
}
void mover()
{
posx =posx +velx;
posy =posy +vely;
if(posx>width)
{
velx =- 1;
}
if(posx<0)
{
velx= 1;
}
if(posy>height)
{
vely =- 1;
}
if(posy<0)
{
vely= 1;
}
}
}