space_inviders/misille_guides.pde

73 lines
1.6 KiB
Plaintext

//il faut faire un ennemi qui balance des missiles guidés
//code des Misiles des méchants
class MisileGuides {
boolean show = false;
PImage misile;
int y,x,yStart;
float time;
MisileGuides(int xt,int yt,String misilet,float timet) {
x = xt;
y = yt;
time = timet;
misile = loadImage(misilet);
}
void guide() {
if (x < ship.x) {
while(x < ship.x){
y -= 6;
x += 6;
}
}
}
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_guides() {
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;
}
}
}