Merge pull request 'modif du samedi 15 mai 2021 : boss passé en classe' (#3) from arthaud into master
Reviewed-on: https://git.netxtime.com/Artiop/space_inviders/pulls/3
This commit is contained in:
commit
4f3913ced4
150
Boss.pde
150
Boss.pde
|
|
@ -1,35 +1,33 @@
|
||||||
class Boss {
|
class Boss {
|
||||||
|
|
||||||
int pv, pv_baseboss;
|
int pv, pv_baseboss;
|
||||||
boolean invincible = false;
|
boolean invincible = false;
|
||||||
float boss_time;
|
float boss_time;
|
||||||
boolean boss_d_ou_g = false;
|
boolean boss_d_ou_g = false;
|
||||||
int boss_vitesse;
|
int boss_vitesse, default_bosvit;
|
||||||
|
float boss_cooldown = 5;
|
||||||
|
boolean collision_laser = false;
|
||||||
PImage visu_boss;
|
PImage visu_boss;
|
||||||
int y;
|
int y;
|
||||||
int x; //égale à ancien "boss_bouge"
|
int x; //égale à ancien "boss_bouge"
|
||||||
boolean show = true;
|
boolean show = true;
|
||||||
int NUMEROXEPLO = 0;
|
int NUMEROXEPLO = 0;
|
||||||
int deta_time;
|
int deta_time;
|
||||||
int time_inv_boss, invisi_time = 1000; // temps de d'invincibilité en millisecondes (2 secondes)
|
int time_inv_boss, invisi_time = 2000; // temps de d'invincibilité en millisecondes (2 secondes)
|
||||||
int time_cligno_boss, deta_cligno_time = 150; // temps de clignotage en millisecondes
|
int time_cligno_boss, deta_cligno_time = 150; // temps de clignotage en millisecondes
|
||||||
//jauge des pv du boss
|
//jauge des pv du boss
|
||||||
int H_jpv = 25, W_jpv = 650, x_jpv, y_jpv = 20;
|
int H_jpv = 25, W_jpv = 650, x_jpv, y_jpv = 20;
|
||||||
|
|
||||||
//var à récup
|
|
||||||
boolean collision_laser = false;
|
|
||||||
float boss_cooldown = 5;
|
|
||||||
int boss_stop = 4;
|
|
||||||
int Xa, Xb, Xc, Ya, Yb, Yc, Xd, Yd, Xe, Ye;
|
|
||||||
float time_game = millis()/1000;
|
|
||||||
float ABC, DBC, ACB, DCB, EBC, ECB;
|
|
||||||
int largeur_bar_vie_T = W_jpv;
|
int largeur_bar_vie_T = W_jpv;
|
||||||
int largeur_bar_vie_cible = W_jpv;
|
int largeur_bar_vie_cible = W_jpv;
|
||||||
|
//laser
|
||||||
|
int Xa, Xb, Xc, Ya, Yb, Yc, Xd, Yd, Xe, Ye;
|
||||||
|
float ABC, DBC, ACB, DCB, EBC, ECB;
|
||||||
|
int boss_stop = 4;
|
||||||
boolean son_Laser = false, clignote = false;
|
boolean son_Laser = false, clignote = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Boss (int pvboss, String visuboss, int start_x, int start_y, int vitboss){
|
Boss (int pvboss, String visuboss, int start_x, int start_y, int vitboss){
|
||||||
boss_vitesse = vitboss;
|
boss_vitesse = default_bosvit = vitboss;
|
||||||
x = start_x;
|
x = start_x;
|
||||||
y = start_y;
|
y = start_y;
|
||||||
pv = pv_baseboss = pvboss;
|
pv = pv_baseboss = pvboss;
|
||||||
|
|
@ -38,6 +36,47 @@ class Boss {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BarDeVieBoss(){
|
||||||
|
|
||||||
|
//largeur en pixels en fonction des pv courants du boss
|
||||||
|
largeur_bar_vie_cible = W_jpv * pv / pv_baseboss;
|
||||||
|
//println ("T : " + largeur_bar_vie_T + " C : " + largeur_bar_vie_cible);
|
||||||
|
|
||||||
|
//calcul delai en miliseconds pour chaque pixels a supprimer de la bars de vie en fonction du temps d'invincibilité du boss
|
||||||
|
// temps / pixels a suprimmer de la barre :
|
||||||
|
//deta_time = invisi_time / (W_jpv - (W_jpv * pv / pv_baseboss));
|
||||||
|
//println("pv : " + pv + " :: invincible : " + invincible+ " :: deta_time : " + deta_time);
|
||||||
|
|
||||||
|
//jauge des pv du boss
|
||||||
|
x_jpv = width/2-W_jpv/2;
|
||||||
|
fill(255, 255, 255, 40);
|
||||||
|
noStroke();
|
||||||
|
rect(x_jpv, y_jpv, W_jpv, H_jpv, H_jpv / 2);
|
||||||
|
fill(#AE0202, 230);
|
||||||
|
noStroke();
|
||||||
|
rect(
|
||||||
|
x_jpv + (W_jpv - largeur_bar_vie_T)/2, // coordonnées X de la bar de vie
|
||||||
|
y_jpv, // coordonnées Y de la bar de vie
|
||||||
|
largeur_bar_vie_T,
|
||||||
|
H_jpv, // hauteur de la bar de vie
|
||||||
|
H_jpv / 2 // pour arrondir les angles de la bar de vie du boss
|
||||||
|
);
|
||||||
|
fill(255);
|
||||||
|
textSize(H_jpv / 1.5);
|
||||||
|
textAlign(CENTER, CENTER);
|
||||||
|
text(pv + " / " + pv_baseboss , x_jpv + W_jpv / 2 , y_jpv + H_jpv /2);
|
||||||
|
textAlign(LEFT, BOTTOM);
|
||||||
|
textSize(12);
|
||||||
|
strokeWeight(2);
|
||||||
|
stroke(#ffffff);
|
||||||
|
|
||||||
|
noFill();
|
||||||
|
rect(x_jpv, y_jpv, W_jpv, H_jpv, H_jpv / 2);
|
||||||
|
fill(255, 255, 255);
|
||||||
|
strokeWeight(1);
|
||||||
|
stroke(#000000);
|
||||||
|
}
|
||||||
|
|
||||||
void verifiercollisions(){
|
void verifiercollisions(){
|
||||||
|
|
||||||
//vérifie s'il y a une collisions avec le vaisseau
|
//vérifie s'il y a une collisions avec le vaisseau
|
||||||
|
|
@ -58,29 +97,93 @@ class Boss {
|
||||||
invincible = true;
|
invincible = true;
|
||||||
} else {
|
} else {
|
||||||
show = false;
|
show = false;
|
||||||
}
|
}
|
||||||
//calcul delai en miliseconds pour chaque pixels a supprimer de la bars de vie en fonction du temps d'invincibilité du boss
|
|
||||||
// temps / pixels a suprimmer de la barre :
|
|
||||||
deta_time = invisi_time / (W_jpv - (W_jpv * pv / pv_baseboss));
|
|
||||||
println("pv : " + pv + " :: invincible : " + invincible+ " :: deta_time : " + deta_time);
|
|
||||||
|
|
||||||
//Suppression du missile
|
//Suppression du missile
|
||||||
lancermisile = false; //a voir pour faire une classe pour le missile du ship
|
lancermisile = false; //a voir pour faire une classe pour le missile du ship
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//vérification de la collision avec le laser du boss
|
||||||
|
if(boss_vitesse == 0){
|
||||||
|
//coordonnées base du vaisseau:
|
||||||
|
Xd = ship.x - 100;
|
||||||
|
Yd = ship.y + 100;
|
||||||
|
|
||||||
|
Xe = ship.x + 100;
|
||||||
|
Ye = Yd;
|
||||||
|
|
||||||
|
//calcul des angles
|
||||||
|
ABC = acos( ( ((Xc-Xb)*(Xa-Xb)) + ((Yc-Yb)*(Ya-Yb)) )/( sqrt(sq(Xc-Xb)+sq(Yc-Yb)) * sqrt(sq(Xa-Xb)+sq(Ya-Yb)) ) );
|
||||||
|
ACB = ABC;
|
||||||
|
//println("ABC : "+ ABC);
|
||||||
|
//DBC = acos( ( ((Xc-Xb)*(Xd-Xb)) + ((Yc-Yb)*(Yd-Yb)) )/( sqrt(sq(Xc-Xb)+sq(Yc-Yb)) * sqrt(sq(Xd-Xb)+sq(Yd-Yb)) ) );
|
||||||
|
DCB = acos( ( ((Xb-Xc)*(Xd-Xc)) + ((Yb-Yc)*(Yd-Yc)) )/( sqrt(sq(Xb-Xc)+sq(Yb-Yc)) * sqrt(sq(Xd-Xc)+sq(Yd-Yc)) ) );
|
||||||
|
EBC = acos( ( ((Xc-Xb)*(Xe-Xb)) + ((Yc-Yb)*(Ye-Yb)) )/( sqrt(sq(Xc-Xb)+sq(Yc-Yb)) * sqrt(sq(Xe-Xb)+sq(Ye-Yb)) ) );
|
||||||
|
//println("DCB : "+ DCB + " / EBC : "+ EBC);
|
||||||
|
|
||||||
|
stroke(204, 102, 0);
|
||||||
|
strokeWeight(4);
|
||||||
|
line(Xd, Yd, Xe, Ye);
|
||||||
|
//println("Ye, Xe : " + Ye + " <> " + Xe);
|
||||||
|
//println("Xd, Yd : " + Xd + " <> " + Yd);
|
||||||
|
|
||||||
|
//test collisions avec le laser:
|
||||||
|
if (EBC > ABC || ACB < DCB) {
|
||||||
|
collision_laser = false;
|
||||||
|
//println("collision laser: " + collision_laser);
|
||||||
|
} else {
|
||||||
|
collision_laser = true;
|
||||||
|
ship.collision = true;
|
||||||
|
//println("collision laser: " + collision_laser);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void bouge_boss(){
|
void bouge_boss(){
|
||||||
|
|
||||||
|
//gestion du laser
|
||||||
|
if (boss_time + boss_cooldown < millis()/1000 && !invincible && pv > 0) {
|
||||||
|
boss_vitesse = 0;
|
||||||
|
image(laserboss1, x, 380 + y);
|
||||||
|
//joue le son du laser une seul fois
|
||||||
|
if(!son_Laser){
|
||||||
|
son_Laser = true;
|
||||||
|
sonLaser_boss.play();
|
||||||
|
}
|
||||||
|
//calcul dimension laser:
|
||||||
|
//coordonnées point haut
|
||||||
|
Xa = x;
|
||||||
|
Ya = -100 + y;
|
||||||
|
|
||||||
|
Xb = x - 566;
|
||||||
|
Yb = -100 + y + 981;
|
||||||
|
|
||||||
|
Xc = x + 566;
|
||||||
|
Yc = Yb;
|
||||||
|
|
||||||
|
//triangle(Xa, Ya, Xb, Yb, Xc, Yc);
|
||||||
|
|
||||||
|
// boucle fin d'attaque
|
||||||
|
if (boss_time + boss_cooldown + boss_stop < millis()/1000){
|
||||||
|
boss_cooldown = random(1, 7);
|
||||||
|
boss_vitesse = default_bosvit++;
|
||||||
|
//default_bosvit += 1;
|
||||||
|
boss_time = millis()/1000;
|
||||||
|
son_Laser = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//println("boss_time + boss_cooldown + boss_stop : "+ boss_time + boss_cooldown + boss_stop);
|
||||||
|
}
|
||||||
|
|
||||||
if (boss_d_ou_g == true){ //si le boss vas vers la gauche
|
if (boss_d_ou_g == true){ //si le boss vas vers la gauche
|
||||||
if (x > 0){ //si le boss il n'est pas tout a gauche
|
if (x > 100){ //si le boss il n'est pas tout a gauche
|
||||||
x -= boss_vitesse; //on le fais aller a gauche
|
x -= boss_vitesse; //on le fais aller a gauche
|
||||||
} else { //sinon
|
} else { //sinon
|
||||||
boss_d_ou_g = false; //on lui dit d'aller a gauche
|
boss_d_ou_g = false; //on lui dit d'aller a gauche
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (boss_d_ou_g == false && x < width){
|
if (boss_d_ou_g == false && x < width-100){
|
||||||
x += boss_vitesse;
|
x += boss_vitesse;
|
||||||
} else {
|
} else {
|
||||||
boss_d_ou_g = true;
|
boss_d_ou_g = true;
|
||||||
|
|
@ -100,9 +203,9 @@ class Boss {
|
||||||
clignote = invincible = false;
|
clignote = invincible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (largeur_bar_vie_T > largeur_bar_vie_cible){
|
if (largeur_bar_vie_T > largeur_bar_vie_cible){
|
||||||
// largeur_bar_vie_T -- ;
|
largeur_bar_vie_T -- ;
|
||||||
//}
|
}
|
||||||
|
|
||||||
// clignotement :
|
// clignotement :
|
||||||
if (invincible && time_cligno_boss + deta_cligno_time <= millis()) {
|
if (invincible && time_cligno_boss + deta_cligno_time <= millis()) {
|
||||||
|
|
@ -129,6 +232,7 @@ class Boss {
|
||||||
}
|
}
|
||||||
|
|
||||||
void affiche_et_mets_a_jour_le_boss(){
|
void affiche_et_mets_a_jour_le_boss(){
|
||||||
|
BarDeVieBoss();
|
||||||
verifiercollisions();
|
verifiercollisions();
|
||||||
bouge_boss();
|
bouge_boss();
|
||||||
apparaitre();
|
apparaitre();
|
||||||
|
|
|
||||||
180
Bosss.pde
180
Bosss.pde
|
|
@ -1,180 +0,0 @@
|
||||||
boolean boss_d_ou_g = false;
|
|
||||||
int boss_bouge = 800;
|
|
||||||
int boss_y = 171;
|
|
||||||
int boss_vitesse = 8;
|
|
||||||
boolean collision_laser = false;
|
|
||||||
float boss_cooldown = 5;
|
|
||||||
float boss_time;
|
|
||||||
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;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void bosss() {
|
|
||||||
|
|
||||||
time_game = millis()/1000;
|
|
||||||
println("second : "+ time_game);
|
|
||||||
println("boss_time + boss_cooldown : " + boss_time + boss_cooldown);
|
|
||||||
if (boss_time + boss_cooldown < time_game && !invincible){
|
|
||||||
boss_vitesse = 0;
|
|
||||||
image(laserboss1, boss_bouge, 380 + boss_y);
|
|
||||||
//joue le son du laser une seul fois
|
|
||||||
if(!son_Laser){
|
|
||||||
son_Laser = true;
|
|
||||||
sonLaser_boss.play();
|
|
||||||
}
|
|
||||||
//calcul dimension laser:
|
|
||||||
//coordonnées point haut
|
|
||||||
Xa = boss_bouge;
|
|
||||||
Ya = -100 + boss_y;
|
|
||||||
|
|
||||||
Xb = boss_bouge - 566;
|
|
||||||
Yb = -100 + boss_y + 981;
|
|
||||||
|
|
||||||
Xc = boss_bouge + 566;
|
|
||||||
Yc = Yb;
|
|
||||||
|
|
||||||
//triangle(Xa, Ya, Xb, Yb, Xc, Yc);
|
|
||||||
|
|
||||||
//coordonnées base du vaisseau:
|
|
||||||
Xd = x - 100;
|
|
||||||
Yd = y + 100;
|
|
||||||
|
|
||||||
Xe = x + 100;
|
|
||||||
Ye = Yd;
|
|
||||||
|
|
||||||
//calcul des angles
|
|
||||||
ABC = acos( ( ((Xc-Xb)*(Xa-Xb)) + ((Yc-Yb)*(Ya-Yb)) )/( sqrt(sq(Xc-Xb)+sq(Yc-Yb)) * sqrt(sq(Xa-Xb)+sq(Ya-Yb)) ) );
|
|
||||||
ACB = ABC;
|
|
||||||
//println("ABC : "+ ABC);
|
|
||||||
//DBC = acos( ( ((Xc-Xb)*(Xd-Xb)) + ((Yc-Yb)*(Yd-Yb)) )/( sqrt(sq(Xc-Xb)+sq(Yc-Yb)) * sqrt(sq(Xd-Xb)+sq(Yd-Yb)) ) );
|
|
||||||
DCB = acos( ( ((Xb-Xc)*(Xd-Xc)) + ((Yb-Yc)*(Yd-Yc)) )/( sqrt(sq(Xb-Xc)+sq(Yb-Yc)) * sqrt(sq(Xd-Xc)+sq(Yd-Yc)) ) );
|
|
||||||
EBC = acos( ( ((Xc-Xb)*(Xe-Xb)) + ((Yc-Yb)*(Ye-Yb)) )/( sqrt(sq(Xc-Xb)+sq(Yc-Yb)) * sqrt(sq(Xe-Xb)+sq(Ye-Yb)) ) );
|
|
||||||
//println("DCB : "+ DCB + " / EBC : "+ EBC);
|
|
||||||
|
|
||||||
//line(Xd, Yd, Xe, Ye);
|
|
||||||
//println("Xb, Xe : " + Xb + " <> " + Xe);
|
|
||||||
//test collisions avec le laser:
|
|
||||||
if (EBC > ABC || ACB < DCB) {
|
|
||||||
collision_laser = false;
|
|
||||||
} else {
|
|
||||||
collision_laser = true;
|
|
||||||
ship.collision = true;
|
|
||||||
println("collision : " + collision_laser);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// boucle fin d'attaque
|
|
||||||
if (boss_time + boss_cooldown + boss_stop < time_game){
|
|
||||||
boss_cooldown = random(1, 7);
|
|
||||||
boss_vitesse = 8;
|
|
||||||
boss_time = time_game;
|
|
||||||
son_Laser = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//println("boss_time + boss_cooldown + boss_stop : "+ boss_time + boss_cooldown + boss_stop);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!clignote){
|
|
||||||
image(imgboss1, boss_bouge, boss_y);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (boss_d_ou_g == true){ //si le boss vas vers la gauche
|
|
||||||
if (boss_bouge > 0){ //si le boss il n'est pas tout a gauche
|
|
||||||
boss_bouge -= boss_vitesse; //on le fais aller a gauche
|
|
||||||
} else { //sinon
|
|
||||||
boss_d_ou_g = false; //on lui dit d'aller a gauche
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (boss_d_ou_g == false && boss_bouge < width){
|
|
||||||
boss_bouge += boss_vitesse;
|
|
||||||
} else {
|
|
||||||
boss_d_ou_g = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//largeur en pixels en fonction des pv courants du boss
|
|
||||||
largeur_bar_vie_cible = W_jpv * boss_pv / pv_baseboss;
|
|
||||||
println ("T : " + largeur_bar_vie_T + " C : " + largeur_bar_vie_cible);
|
|
||||||
|
|
||||||
if (time_inv_boss + deta_time <= millis()){
|
|
||||||
if (largeur_bar_vie_T > largeur_bar_vie_cible){
|
|
||||||
largeur_bar_vie_T -- ;
|
|
||||||
invincible = true;
|
|
||||||
} else {
|
|
||||||
invincible = false;
|
|
||||||
}
|
|
||||||
time_inv_boss = millis();
|
|
||||||
}
|
|
||||||
|
|
||||||
// clignotement :
|
|
||||||
if (invincible && time_cligno_boss + deta_cligno_time <= millis()) {
|
|
||||||
time_cligno_boss = millis();
|
|
||||||
clignote = !clignote;
|
|
||||||
} else if (!invincible) {
|
|
||||||
clignote = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//jauge des pv du boss
|
|
||||||
x_jpv = width/2-W_jpv/2;
|
|
||||||
fill(255, 255, 255, 40);
|
|
||||||
noStroke();
|
|
||||||
rect(x_jpv, y_jpv, W_jpv, H_jpv, H_jpv / 2);
|
|
||||||
fill(#AE0202, 230);
|
|
||||||
noStroke();
|
|
||||||
rect(
|
|
||||||
x_jpv + (W_jpv - largeur_bar_vie_T)/2, // coordonnées X de la bar de vie
|
|
||||||
y_jpv, // coordonnées Y de la bar de vie
|
|
||||||
largeur_bar_vie_T,
|
|
||||||
H_jpv, // hauteur de la bar de vie
|
|
||||||
H_jpv / 2 // pour arrondir les angles de la bar de vie du boss
|
|
||||||
);
|
|
||||||
fill(255);
|
|
||||||
textSize(H_jpv / 1.5);
|
|
||||||
textAlign(CENTER, CENTER);
|
|
||||||
text(boss_pv + " / " + pv_baseboss , x_jpv + W_jpv / 2 , y_jpv + H_jpv /2);
|
|
||||||
textAlign(LEFT, BOTTOM);
|
|
||||||
textSize(12);
|
|
||||||
strokeWeight(2);
|
|
||||||
stroke(#ffffff);
|
|
||||||
noFill();
|
|
||||||
rect(x_jpv, y_jpv, W_jpv, H_jpv, H_jpv / 2);
|
|
||||||
fill(255, 255, 255);
|
|
||||||
strokeWeight(1);
|
|
||||||
stroke(#000000);
|
|
||||||
|
|
||||||
if ( dist(ship.x, ship.y, boss_bouge, boss_y) < 200 ) {
|
|
||||||
// en gros le vaisseau éclate quand il touche le boss
|
|
||||||
ship.collision = true;
|
|
||||||
} else {
|
|
||||||
//si le missile est en contact avec le boss et qu'il n'est pas invincible le boss perd un point de vie
|
|
||||||
if ( dist(xm, ym, boss_bouge, boss_y) < 114 && !invincible ){
|
|
||||||
boss_pv = boss_pv - 1;
|
|
||||||
sonCollision.play();
|
|
||||||
time_inv_boss = time_cligno_boss = millis();
|
|
||||||
//calcul delai en miliseconds pour chaque pixels a supprimer de la bars de vie en fonction du temps d'invincibilité du boss
|
|
||||||
// temps / pixels a suprimmer de la barre :
|
|
||||||
deta_time = invisi_time / (W_jpv - (W_jpv * boss_pv / pv_baseboss));
|
|
||||||
//println("boss_pv : " + boss_pv + " :: deta_time : " + deta_time);
|
|
||||||
lancermisile = false;
|
|
||||||
clignote = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -176,16 +176,6 @@ void setup() {
|
||||||
ship.affiche_et_mets_a_jour_le_ship(x, y);
|
ship.affiche_et_mets_a_jour_le_ship(x, y);
|
||||||
|
|
||||||
|
|
||||||
//Affiche le boss Du niveau 1 (ancienne méthode sans la classe boss)
|
|
||||||
if ( false && nombreEnemiReste == 0 && boss_pv > 0) {
|
|
||||||
// image(imgWin, largeur/2, hauteur/2);
|
|
||||||
if (boss_start == false) {
|
|
||||||
boss_start = true;
|
|
||||||
boss_time = millis()/1000;
|
|
||||||
}
|
|
||||||
//bosss();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Affiche le boss Classe 1
|
//Affiche le boss Classe 1
|
||||||
text("énemis restant: " + nombreEnemiReste, 120, 20);
|
text("énemis restant: " + nombreEnemiReste, 120, 20);
|
||||||
if ( nombreEnemiReste <= 0) {
|
if ( nombreEnemiReste <= 0) {
|
||||||
|
|
@ -303,7 +293,7 @@ void setup() {
|
||||||
|
|
||||||
if (key == 'f' ) { touchePresse = "f"; }
|
if (key == 'f' ) { touchePresse = "f"; }
|
||||||
if (key == 'z' && touchePresse == "f") {
|
if (key == 'z' && touchePresse == "f") {
|
||||||
//boss.pv = 1;
|
boss.pv = 2;
|
||||||
//on tue tous les ennemis
|
//on tue tous les ennemis
|
||||||
for (int i = 0; i<nombreEnemi; i++) {
|
for (int i = 0; i<nombreEnemi; i++) {
|
||||||
a[i].enemypv = 0;
|
a[i].enemypv = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue