space_inviders/Misile.pde

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;
}
}
}