75 lines
1.6 KiB
Plaintext
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();
|
|
|
|
}
|
|
|
|
}
|