space_inviders/Boss.pde

73 lines
1.9 KiB
Plaintext

class Boss {
int pv;
float boss_time;
int boss_vitesse;
PImage visu_boss;
int boss_y;
int boss_x; //égale à ancien "boss_bouge"
boolean show = true;
int NUMEROXEPLO = 0;
//var à récup
boolean boss_d_ou_g = false;
boolean collision_laser = false;
float boss_cooldown = 5;
int boss_stop = 4;
int pv_baseboss = 5;
int boss_pv = pv_baseboss;
int Xa, Xb, Xc, Ya, Yb, Yc, Xd, Yd, Xe, Ye;
float time_game = millis()/1000;
float ABC, DBC, ACB, DCB, EBC, ECB;
int H_jpv = 25, W_jpv = 650, x_jpv, y_jpv = 20;
int largeur_bar_vie_T = W_jpv;
int largeur_bar_vie_cible = W_jpv;
boolean invincible = false, son_Laser = false, clignote = false;
int invisi_time = 1000; // temps de d'invincibilité en millisecondes (2 secondes)
int deta_time, time_inv_boss;
int deta_cligno_time = 150; // temps de clignotage en millisecondes
int time_cligno_boss;
Boss (int pvboss, String visuboss, int xb, int yb, int bv){
boss_vitesse = bv;
boss_x = xb;
boss_y = yb;
pv = pvboss;
boss_time = millis()/1000;
visu_boss = loadImage("data/images/" + visuboss);
}
void verifiercollisions(){
}
void bouge_boss(){
}
void apparaitre(){
//affiche l'anime de explosion :
if ( !show && NUMEROXEPLO<50 ) {
// Ou Methode avec un if :
if ( String.valueOf(NUMEROXEPLO).length()==1 ) visu_boss = loadImage("data/images/explosion/explosion000"+NUMEROXEPLO+".png");
else visu_boss = 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(visu_boss, boss_x, boss_y);
println("boss ..");
}
void affiche_et_mets_a_jour_le_boss(){
verifiercollisions();
bouge_boss();
apparaitre();
}
}