Modification du samedi 30/01/21

This commit is contained in:
Stève Oriol 2021-01-30 14:11:41 +01:00
parent 882bb78b4e
commit 34fc13a786
5 changed files with 391 additions and 379 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -1,5 +0,0 @@
//ici il faut faire un enemie qui te fonce dessus
int pv_tres_mechant = 2;
float cooldown_fonce = random(3,10);
int yk;
int xk;

View File

@ -1 +0,0 @@
//ici il faudrat faire un laser qui one-shoot les enemies basiques

17
mechant_tres_mechant.pde Normal file
View File

@ -0,0 +1,17 @@
//ici il faut faire un enemie qui te fonce dessus
int p = 2;
double random;
public double random(){
random = Math.random()*(10-3);
return random;
}
double cooldown_fonce = random();
//le if doit etre dans une fonction ou une class ou void ...
void test () {
if (test == true){
image(mechant2, largeur/2, hauteur/2);
}
}

View File

@ -1,373 +1,374 @@
// ajouter le son ? // ajouter le son ?
boolean son = true; boolean son = true;
boolean boss_start = false; boolean boss_start = false;
// ----------------------- \\ // ----------------------- \\
// Importation librairies pour la gestion du sons // Importation librairies pour la gestion du sons
import processing.sound.*; import processing.sound.*;
SoundFile sonLancemissile; SoundFile sonLancemissile;
SoundFile sonExposion; SoundFile sonExposion;
SoundFile sonCollision; SoundFile sonCollision;
SoundFile sonLaser_boss; SoundFile sonLaser_boss;
int largeur = 1600; boolean test = false;
int hauteur = 900; int largeur = 1600;
PImage space, img_ship, misile, mechant, imgGameover, imgWin, imgboss1, laserboss1; int hauteur = 900;
String misileMechant1 = "data/images/misile - mechant.png"; PImage space, img_ship, misile, mechant, imgGameover, imgWin, imgboss1, laserboss1, mechant2;
int x = largeur/2; String misileMechant1 = "data/images/misile - mechant.png";
int y = hauteur-100; int x = largeur/2;
int xm = x; int y = hauteur-100;
int ym = y; int xm = x;
int timerGameOver = 1500; // milliseconds d'attente avant affichage "Gameover" int ym = y;
int timer = 0; int timerGameOver = 1500; // milliseconds d'attente avant affichage "Gameover"
int win; int timer = 0;
float time; int win;
boolean lancermisile = false; float time;
String touchePresse = null; boolean lancermisile = false;
int nombreEnemiRestek = nombreEnemik; String touchePresse = null;
//int nombreEnemiRestek = nombreEnemik;
Ship ship;
Ship ship;
boolean[] level = new boolean[3];
boolean[] level = new boolean[3];
int nombreEnemi = 20;
int nombreEnemik = 20; int nombreEnemi = 20;
int nombreEnemiReste = nombreEnemi; int nombreEnemik = 20;
Alien [] a = new Alien[nombreEnemi]; int nombreEnemiReste = nombreEnemi;
Misile [] b = new Misile[nombreEnemi]; Alien [] a = new Alien[nombreEnemi];
Misile [] b = new Misile[nombreEnemi];
//Etat de deplacement: 0 = aucun deplacement en cours
int moveXp = 0; // 1 si deplacement vers le bas //Etat de deplacement: 0 = aucun deplacement en cours
int moveXn = 0; // 1 si deplacement vers le haut int moveXp = 0; // 1 si deplacement vers le bas
int moveYp = 0; // 1 si deplacement vers la droite int moveXn = 0; // 1 si deplacement vers le haut
int moveYn = 0; // 1 si deplacement vers la gauche int moveYp = 0; // 1 si deplacement vers la droite
int moveBoost = 1; int moveYn = 0; // 1 si deplacement vers la gauche
int moveBoost = 1;
boolean pause = false;
boolean pause = false;
void setup() {
void setup() {
stroke(#000000);
strokeWeight(1); stroke(#000000);
textAlign(LEFT, TOP); strokeWeight(1);
textSize(12); textAlign(LEFT, TOP);
size(1600, 900); textSize(12);
imageMode(CENTER); size(1600, 900);
imageMode(CENTER);
//là, ça charge les image dans leur varible
space = loadImage("data/images/space.jpg"); //là, ça charge les image dans leur varible
img_ship = loadImage("data/images/redfighter_200x200.png"); space = loadImage("data/images/space.jpg");
misile = loadImage("data/images/misile.png"); img_ship = loadImage("data/images/redfighter_200x200.png");
//2 pour le skin 2 misile = loadImage("data/images/misile.png");
mechant = loadImage("data/images/mechant_rouge_150x150.png"); //2 pour le skin 2
imgGameover = loadImage("data/images/gameover.png"); mechant = loadImage("data/images/mechant_rouge_150x150.png");
imgWin = loadImage("data/images/Win_game.png"); imgGameover = loadImage("data/images/gameover.png");
imgboss1 = loadImage("data/images/vaiseau_enemi.png"); imgWin = loadImage("data/images/Win_game.png");
laserboss1 = loadImage("data/images/laser_boss1.png"); imgboss1 = loadImage("data/images/vaiseau_enemi.png");
//on crée le ship laserboss1 = loadImage("data/images/laser_boss1.png");
ship = new Ship(x, y, 3, img_ship); mechant2 = loadImage("data/mechant_tres_mechant.png");
//on crée le ship
//on crée des ennemis ship = new Ship(x, y, 3, img_ship);
for (int i = 0; i<nombreEnemi; i++) {
int j; //on crée des ennemis
int k; for (int i = 0; i<nombreEnemi; i++) {
if (i > 9) { int j;
j = i-10; int k;
k =2; if (i > 9) {
} else { j = i-10;
j = i; k =2;
k =1; } else {
} j = i;
a[i] = new Alien (100+(j*150), k*100, 3, mechant); k =1;
} }
a[i] = new Alien (100+(j*150), k*100, 3, mechant);
//on crée des misiles }
for (int i = 0; i<nombreEnemi; i++) {
int j; //on crée des misiles
int k; for (int i = 0; i<nombreEnemi; i++) {
if (i > 9) { int j;
j = i-10; int k;
k =2; if (i > 9) {
} else { j = i-10;
j = i; k =2;
k =1; } else {
} j = i;
b[i] = new Misile (100+(j*150), k*100, misileMechant1, time); k =1;
} }
b[i] = new Misile (100+(j*150), k*100, misileMechant1, time);
// Sons }
if (son) {
sonLancemissile = new SoundFile(this, "data/sons/lancemissile.mp3"); // Sons
sonExposion = new SoundFile(this, "data/sons/SFB-explosion2.mp3"); if (son) {
sonCollision = new SoundFile(this, "data/sons/collision avec le vaisseau.mp3"); sonLancemissile = new SoundFile(this, "data/sons/lancemissile.mp3");
sonLaser_boss = new SoundFile(this, "data/sons/Laser_boss.mp3"); sonExposion = new SoundFile(this, "data/sons/SFB-explosion2.mp3");
} sonCollision = new SoundFile(this, "data/sons/collision avec le vaisseau.mp3");
sonLaser_boss = new SoundFile(this, "data/sons/Laser_boss.mp3");
//Vitesse : frame par seconde }
frameRate(60);
} //Vitesse : frame par seconde
frameRate(60);
void draw() { }
// if ( nombreEnemiReste == 0 && ship.pv > 0) { void draw() {
//
// // if ( nombreEnemiReste == 0 && ship.pv > 0) {
// } //
//debug: //
//println(nombreEnemiReste); // }
//debug:
//println(nombreEnemiReste);
miseAJourDuDeplacement();
float d = random (1, 100); miseAJourDuDeplacement();
//Affiche l'image de fond (l'espace) //Affiche l'image de fond (l'espace)
background(space); background(space);
// Si un missile du ship est en cours (actif) // Si un missile du ship est en cours (actif)
if (lancermisile) { if (lancermisile) {
//on le fait avencer //on le fait avencer
ym = ym - 20; ym = ym - 20;
// Si le missile sort en haut de l'écran // Si le missile sort en haut de l'écran
if (ym < 0) { if (ym < 0) {
ym = y; ym = y;
xm = x; xm = x;
lancermisile = false; lancermisile = false;
} }
// Affiche l'image du missile // Affiche l'image du missile
image(misile, xm, ym); image(misile, xm, ym);
} else { } else {
//Sinon (missile non actif) //Sinon (missile non actif)
//on le affiche en dessous du vaiseau si encore vivant //on le affiche en dessous du vaiseau si encore vivant
if (ship.show) { if (ship.show) {
ym = y; ym = y;
xm = x; xm = x;
} }
} }
// Fait une boucle sur tout le tableau d'ennemies // Fait une boucle sur tout le tableau d'ennemies
for ( int i = 0; i<nombreEnemi; i++) { for ( int i = 0; i<nombreEnemi; i++) {
//fait la mise a jour du missile que si l'ennemi est encore vivant ou missile en cours //fait la mise a jour du missile que si l'ennemi est encore vivant ou missile en cours
if (a[i].show || b[i].show) { if (a[i].show || b[i].show) {
b[i].affiche_et_mets_a_jour_le_missile(); b[i].affiche_et_mets_a_jour_le_missile();
} }
//fait la mise a jour du mechant que si il est encore vivant //fait la mise a jour du mechant que si il est encore vivant
if (a[i].NUMEROXEPLO < 50) { if (a[i].NUMEROXEPLO < 50) {
a[i].affiche_et_mets_a_jour_les_mechants(); a[i].affiche_et_mets_a_jour_les_mechants();
} }
} }
// Affiche l'image du vaiseau // Affiche l'image du vaiseau
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 //Affiche le boss Du niveau 1
if ( nombreEnemiReste == 0 && boss_pv > 0) { if ( nombreEnemiReste == 0 && boss_pv > 0) {
// image(imgWin, largeur/2, hauteur/2); // image(imgWin, largeur/2, hauteur/2);
if (boss_start == false) { if (boss_start == false) {
boss_start = true; boss_start = true;
boss_time = millis()/1000; boss_time = millis()/1000;
} }
boss(); boss();
} }
// Mise à jour du texte de l'écran : // Mise à jour du texte de l'écran :
text("frame: " + frameCount, 10, 20); text("frame: " + frameCount, 10, 20);
text("Time: " + millis() / 1000, 10, 35); text("Time: " + millis() / 1000, 10, 35);
text("PV: " + ship.pv, width - 60, 20); text("PV: " + ship.pv, width - 60, 20);
if (ship.pv == - 0) { if (ship.pv == - 0) {
// Installation du timer // Installation du timer
if (timer == 0) timer = millis() + timerGameOver; if (timer == 0) timer = millis() + timerGameOver;
// Vérification du temps par rapport au timer // Vérification du temps par rapport au timer
//println(millis() + " / timer : " + timer); //println(millis() + " / timer : " + timer);
if ( millis() > timer ) { if ( millis() > timer ) {
image(imgGameover, largeur/2, hauteur/2); image(imgGameover, largeur/2, hauteur/2);
println("GAME OVER"); println("GAME OVER");
noLoop(); noLoop();
} }
} }
//Affiche le "WIN" Du niveau 1 //Affiche le "WIN" Du niveau 1
if ( nombreEnemiReste == 0 && boss_pv == 0) { if ( nombreEnemiReste == 0 && boss_pv == 0) {
//image(imgWin, largeur/2, hauteur/2); //image(imgWin, largeur/2, hauteur/2);
} }
if ( nombreEnemiReste == 0 && boss_pv == 0) { if ( nombreEnemiReste == 0 && boss_pv == 0) {
//on load la deuxièmme vague de vaisseau //on load la deuxièmme vague de vaisseau
//on crée des ennemis //on crée des ennemis
// Fait une boucle sur tout le tableau d'ennemies // Fait une boucle sur tout le tableau d'ennemies
//for ( int i = 0; i<nombreEnemi; i++) { //for ( int i = 0; i<nombreEnemi; i++) {
// //on ressucite les ennemis avec 4 pv // //on ressucite les ennemis avec 4 pv
// a[i].enemypv = 4; // a[i].enemypv = 4;
// nombreEnemiReste = nombreEnemi; // nombreEnemiReste = nombreEnemi;
//} //}
//on crée des ennemis //on crée des ennemis
// Fait une boucle sur tout le tableau d'ennemies // Fait une boucle sur tout le tableau d'ennemies
for ( int i = 0; i<nombreEnemi; i++) { for ( int i = 0; i<nombreEnemi; i++) {
//fait la mise a jour du missile que si l'ennemi est encore vivant ou missile en cours //fait la mise a jour du missile que si l'ennemi est encore vivant ou missile en cours
if (a[i].show || b[i].show) { if (a[i].show || b[i].show) {
b[i].affiche_et_mets_a_jour_le_missile(); b[i].affiche_et_mets_a_jour_le_missile();
} }
//fait la mise a jour du mechant que si il est encore vivant //fait la mise a jour du mechant que si il est encore vivant
if (a[i].NUMEROXEPLO < 50) { if (a[i].NUMEROXEPLO < 50) {
a[i].affiche_et_mets_a_jour_les_mechants(); a[i].affiche_et_mets_a_jour_les_mechants();
} }
} }
for (int i = 0; i<nombreEnemi; i++) { for (int i = 0; i<nombreEnemi; i++) {
int j; int j;
int k; int k;
if (i > 9) { if (i > 9) {
j = i-10; j = i-10;
k =2; k =2;
} else { } else {
j = i; j = i;
k =1; k =1;
} }
a[i] = new Alien (100+(j*150), k*100, 3, mechant); a[i] = new Alien (100+(j*150), k*100, 3, mechant);
} }
//on crée des misiles //on crée des misiles
for (int i = 0; i<nombreEnemi; i++) { for (int i = 0; i<nombreEnemi; i++) {
int j; int j;
int k; int k;
if (i > 9) { if (i > 9) {
j = i-10; j = i-10;
k =2; k =2;
} else { } else {
j = i; j = i;
k =1; k =1;
} }
b[i] = new Misile (100+(j*150), k*100, misileMechant1, time); b[i] = new Misile (100+(j*150), k*100, misileMechant1, time);
} }
} }
// Fait une boucle sur tout le tableau d'ennemies // Fait une boucle sur tout le tableau d'ennemies
for ( int i = 0; i<nombreEnemi; i++) { for ( int i = 0; i<nombreEnemi; i++) {
//fait la mise a jour du missile que si l'ennemi est encore vivant ou missile en cours //fait la mise a jour du missile que si l'ennemi est encore vivant ou missile en cours
if (a[i].show || b[i].show) { if (a[i].show || b[i].show) {
b[i].affiche_et_mets_a_jour_le_missile(); b[i].affiche_et_mets_a_jour_le_missile();
} }
//fait la mise a jour du mechant que si il est encore vivant //fait la mise a jour du mechant que si il est encore vivant
if (a[i].NUMEROXEPLO < 50) { if (a[i].NUMEROXEPLO < 50) {
a[i].affiche_et_mets_a_jour_les_mechants(); a[i].affiche_et_mets_a_jour_les_mechants();
} }
} }
} }
//ça verifie tout le tenps si une touche utilise est preser //ça verifie tout le tenps si une touche utilise est preser
void keyPressed() { void keyPressed() {
// //
if (key == 'f' ) { touchePresse = "f"; } if (key == 'f' ) { touchePresse = "f"; }
if (key == 'z' && touchePresse == "f") { if (key == 'z' && touchePresse == "f") {
//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;
nombreEnemiRestek = 0; test = true;
boss_pv = 1; // nombreEnemiRestek = 0;
} boss_pv = 1;
}
touchePresse = null;
} touchePresse = null;
}
if (key == ' ' && ship.show) {
lancermisile = true; if (key == ' ' && ship.show) {
//Joue le son... lancermisile = true;
if (son && ym == y) sonLancemissile.play(); //Joue le son...
} if (son && ym == y) sonLancemissile.play();
}
//pour mettre en pause/continuer
if (key == 'p') { //pour mettre en pause/continuer
pause = !pause; if (key == 'p') {
pause = !pause;
//Met en pause ou countinue
if (pause) noLoop(); //Met en pause ou countinue
else loop(); if (pause) noLoop();
} else loop();
}
if (key == CODED) {
if (keyCode == UP) { if (key == CODED) {
moveYn = 1; if (keyCode == UP) {
} moveYn = 1;
if (keyCode == DOWN) { }
moveYp = 1; if (keyCode == DOWN) {
} moveYp = 1;
if (keyCode == LEFT) { }
moveXn = 1; if (keyCode == LEFT) {
} moveXn = 1;
if (keyCode == RIGHT) { }
moveXp = 1; if (keyCode == RIGHT) {
} moveXp = 1;
if (keyCode == SHIFT) { }
moveBoost = 2; if (keyCode == SHIFT) {
} moveBoost = 2;
} }
} }
}
//ça verifie tout le tenps si une touche utilise est relacher
void keyReleased() { //ça verifie tout le tenps si une touche utilise est relacher
void keyReleased() {
if (key == CODED) {
if (keyCode == UP) { if (key == CODED) {
moveYn = 0; if (keyCode == UP) {
} moveYn = 0;
if (keyCode == DOWN) { }
moveYp = 0; if (keyCode == DOWN) {
} moveYp = 0;
if (keyCode == LEFT) { }
moveXn = 0; if (keyCode == LEFT) {
} moveXn = 0;
if (keyCode == RIGHT) { }
moveXp = 0; if (keyCode == RIGHT) {
} moveXp = 0;
if (keyCode == SHIFT) { }
moveBoost = 1; if (keyCode == SHIFT) {
} moveBoost = 1;
} }
} }
}
//on calcule et on met a jour les coordonnées du vaisau
void miseAJourDuDeplacement() { //on calcule et on met a jour les coordonnées du vaisau
void miseAJourDuDeplacement() {
int deplacement = 10*moveBoost;
int deplacement = 10*moveBoost;
if (moveYp - moveYn == -1) {
y = y - deplacement; if (moveYp - moveYn == -1) {
if (y < 100) y = 100; y = y - deplacement;
} if (y < 100) y = 100;
}
if (moveYp - moveYn == 1) {
y = y + deplacement; if (moveYp - moveYn == 1) {
if (y > height - 100 ) y = height - 100; y = y + deplacement;
} if (y > height - 100 ) y = height - 100;
}
if (moveXp - moveXn == -1) {
x = x- deplacement; if (moveXp - moveXn == -1) {
if (x < 100) x = 100; x = x- deplacement;
} if (x < 100) x = 100;
}
if (moveXp - moveXn == 1) {
x = x+ deplacement; if (moveXp - moveXn == 1) {
if (x > width - 100 ) x = width - 100; x = x+ deplacement;
} if (x > width - 100 ) x = width - 100;
} }
}
//Truc a faire à la fin...
void stop() { //Truc a faire à la fin...
} void stop() {
}