64 lines
1.4 KiB
Plaintext
64 lines
1.4 KiB
Plaintext
//code des Misiles des méchants
|
|
class Misile {
|
|
|
|
boolean show = false;
|
|
PImage misile;
|
|
int y,x,yStart;
|
|
float time;
|
|
|
|
Misile(int xt,int yt,String misilet,float timet) {
|
|
x = xt;
|
|
y = yStart = yt;
|
|
time = timet;
|
|
misile = loadImage(misilet);
|
|
}
|
|
|
|
void apparaitre() {
|
|
image(misile, x, y);
|
|
}
|
|
|
|
void verifiercollisions() {
|
|
|
|
// Si un missile est en cours
|
|
if (show) {
|
|
|
|
// Si le missile sort en bas de l'écran
|
|
if (y > hauteur) {
|
|
//on supprime le missile
|
|
show = false;
|
|
//on remet le y du missile pour le prochain
|
|
y = yStart;
|
|
}
|
|
|
|
if ( dist(ship.x, ship.y, x, y) < 130 ) {
|
|
// Averti le vaiseau de la collision avec le missile
|
|
ship.collision = true;
|
|
sonCollision.play();
|
|
|
|
// supprime le missile
|
|
show = false;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
void tomber() {
|
|
y += 6; //ont peut changer cette variable(le nombre de la variable)pour changer la vitesse des missiles enemis.
|
|
}
|
|
|
|
void affiche_et_mets_a_jour_le_missile() {
|
|
if (show) {
|
|
tomber();
|
|
verifiercollisions();
|
|
apparaitre();
|
|
} else {
|
|
//Si pas de missile actif on peut en lancer un de temps en temps si le ship et toujours en vie:
|
|
// 0.1% du temps
|
|
if ( ship.pv != 0 && random(1000) < 1 ) show = true;
|
|
}
|
|
}
|
|
|
|
}
|
|
|