space_inviders/Ship.pde

75 lines
1.6 KiB
Plaintext

//ceci est TOUT le code qui concerne un Ship
class Ship {
int x,y,pv;
PImage ship_explo;
boolean show;
boolean collision = false;
int NUMEROXEPLO = 0;
boolean missileactif = false;
Ship(int xt,int yt, int pvt, PImage imaget){
x = xt;
y = yt;
ship_explo = imaget;
show = true;
pv = pvt;
}
void apparaitre() {
//affiche l'anime de explosion :
if ( !show && NUMEROXEPLO<50 ) {
// Ou Methode avec un if :
if ( String.valueOf(NUMEROXEPLO).length()==1 ) ship_explo = loadImage("data/images/explosion/explosion000"+NUMEROXEPLO+".png");
else ship_explo = loadImage("data/images/explosion/explosion00"+NUMEROXEPLO+".png");
NUMEROXEPLO += 1;
}
if (NUMEROXEPLO == 1 && son) sonExposion.play();
//Affiche le ship ou explosion s'il n'est pas détruis (l'anime de explosion est pas finie)
if (NUMEROXEPLO < 50) image(ship_explo, x, y);
}
void set_position(int xn,int yn) {
if (show) {
x = xn;
y = yn;
}
}
void verifiercollisions() {
// avec un mechant:
if (collision) {
// on luis enleve un point de vie
pv = pv - 1;
collision = false;
//le vaiseau disparait si il a plus de vie :
if ( pv == 0 ) {
show = false;
}
}
}
void affiche_et_mets_a_jour_le_ship(int xn,int yn) {
if (show) {
set_position(xn,yn);
verifiercollisions();
}
//Jusqu'à la fin de l'animation de l'explosion
apparaitre();
}
}