73 lines
1.6 KiB
Plaintext
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;
|
|
}
|
|
}
|
|
|
|
}
|
|
|