Posté le 8 mai 2019
Télécharger | Reposter
PImage terrain;//image fond PImage fond;//image fond ArrayList uniteB = new ArrayList(); // Tableau des unités bleues ArrayList uniteR = new ArrayList(); // Tableau des unités rouges float temps; float ligne; float timer1, timer2, timer3; float val = 500; float antispam1 = -1000; float antispam2 = -1000; float compB=0;//Variable de comparaison float compB2=-1;//Variable de comparaison float compR=1400;//Variable de comparaison float compR2=-1;//Variable de comparaison float son;//Variable pour le lancement du son String testsolo;//Variable de test pour lancer le mode solo String page;//Variable de référence pour les différentes pages import ddf.minim.*; //musique Minim minim; //musique AudioPlayer player; //musique du jeu AudioPlayer SonVictoire; //son de victoire AudioPlayer Jouer; //son de lancement partie void setup() { page="acceuil"; pages(page); smooth(); minim = new Minim(this); player = minim.loadFile("musique.mp3"); //Musique du jeu SonVictoire = minim.loadFile("Son Victoire.mp3"); //Son de Victoire Jouer = minim.loadFile("Jouer.mp3"); //Son de lancement de la partie player.loop(); //on lance la music dans le menu size(1400,600); //taille fenêtre terrain=loadImage("terrain.jpg"); //image fond terrain.resize(1400,600); //Définition de la taille du terrain } void draw() { if (page=="acceuil"){ pages(page); }//if if (mouseX>1190 && mouseY>10 && mouseX<1300 && mouseY<100 && mousePressed == true){ //bouton de music if (player.isPlaying()) { println("music off"); player.pause(); player.rewind(); }//if else { println("music on"); player.loop(); }//else }//if if (mouseX>515 && mouseY>150 && mouseX<855 && mouseY<220 && mousePressed == true) { page="commandes"; pages(page); }//if if (mouseX>80 && mouseY>500 && mouseX<250 && mouseY<570 && mousePressed == true && page=="commandes"){ page="acceuil"; pages(page); }//if if (mouseX>1170 && mouseY>500 && mouseX<1340 && mouseY<570 && mousePressed == true && page=="commandes"){ page="commandes_2"; pages(page); }//if if (mouseX>80 && mouseY>500 && mouseX<250 && mouseY<570 && mousePressed == true && page=="commandes_2"){ page="commandes"; pages(page); }//if if (mouseX>590 && mouseY>250 && mouseX<780 && mouseY<320 && mousePressed == true){ page="règles"; pages(page); }//if if (mouseX>80 && mouseY>500 && mouseX<250 && mouseY<570 && mousePressed == true && page=="règles"){ page="acceuil"; pages(page); }//if if (mouseX>80 && mouseY>500 && mouseX<250 && mouseY<570 && mousePressed == true && page=="rouge"){ page="acceuil"; pages(page);//ecran de win rouge }//if if (mouseX>80 && mouseY>500 && mouseX<250 && mouseY<570 && mousePressed == true && page=="bleu"){ page="acceuil"; pages(page);//ecran de win bleu }//if if (mouseX>560 && mouseY>350 && mouseX<810 && mouseY<420 && mousePressed == true) { Jouer.play(); Jouer.rewind(); testsolo="solo"; page="jeu"; }//if if (mouseX>555 && mouseY>450 && mouseX<820 && mouseY<520 && mousePressed == true) { Jouer.play(); Jouer.rewind(); page="jeu"; }//if if (page=="jeu"){ //Lancement de la partie // Jouer la musique en boucle background(terrain); if(testsolo=="solo"){ creationennemis(); //Lancement de l'ennemi virtuel } //if for (int i = 0; i < uniteB.size(); i++) { //Gestion déplacements des bleus bleu ball = (bleu) uniteB.get(i); ball.deplacementB(); ball.display(); }//for for (int j = 0; j < uniteR.size(); j++) { //Gestion déplacements des rouges rouge ball = (rouge) uniteR.get(j); ball.deplacementR(); ball.display(); }//for //if(compB>compR && compB2==compR2){uniteR.clear();uniteB.clear();}//intéraction entre les unités if(compB==1400){ //Victore des bleus (nettoyage des unités, reboot des valeurs de test, affichage de l'écran de victoire) victoireB(); }//if if(compR==0){ //Victoire des rouges (nettoyage des unités, reboot des valeurs de test, affichage de l'écran de victoire) victoireR(); }//if for (int i = uniteB.size()-1; i >= 0; i--) { bleu ball1 = (bleu) uniteB.get(i); if (ball1.isAlive) { for (int i1 = uniteR.size()-1; i1 >= 0; i1--) { rouge ball2 = (rouge) uniteR.get(i1); if (ball2.isAlive && dist(ball1.x, ball1.y, ball2.x, ball2.y) < 7) { text("hit", ball1.x, ball1.y); ball1.isAlive=false; ball2.isAlive=false; print("HIT"); }//if }//for }//if }//for for (int i = uniteB.size()-1; i>=0; i--) { bleu ball = (bleu) uniteB.get(i); if (!ball.isAlive) uniteB.remove(i); } for (int i = uniteR.size()-1; i>=0; i--) { rouge ball = (rouge) uniteR.get(i); if (!ball.isAlive) uniteR.remove(i); }//for }//if }//void _________________________________________________________________________________________________________________ void pages(String page) { if (page=="acceuil"){ smooth(); size(1400,600);//taille fenêtre fond=loadImage("fond-noir.png"); fond.resize(1400,600); background(fond); textSize(100); text("LITTLE BATTLE", 340,100); textSize(50); fill(225,0,0); rect(565, 350, 240, 70,7); fill(255,255,255); text("1 PLAYER",570,400); fill(9,34,95); rect(555, 450, 260, 70,7); fill(255,255,255); text("2 PLAYERS",560,500); fill(70, 63, 50); rect(590, 250, 190, 70,7); fill(255,255,255); text("REGLES ",600,300); fill(70, 63, 50); rect(515, 150, 340, 70,7); fill(255,255,255); text("COMMANDES",525,200); fill(121, 137, 51); rect(1190, 10, 105, 70,7); fill(255,255,255); text("son",1200,60); }//if if (page=="commandes"){ size(1400,600);//taille fenêtre fond=loadImage("voil.png"); fond.resize(1400,600); background(fond); textSize(50); fill(229,42,9); text("PLAYER 1",100,70); fill(9,185,229); text("PLAYER 2",900,70); stroke(255,255,255); fill(0,0,0); rect(1170, 500, 170, 70,7); fill(255,255,255); textSize(40); text("NEXT&#8594;",1190,550); stroke(255,255,255); fill(0,0,0); rect(80, 500, 170, 70,7); fill(255,255,255); textSize(40); text("&#8592;BACK",100,550); }//if if (page=="commandes_2"){ size(1400,600);//taille fenêtre fond=loadImage("fond-noir.png"); fond.resize(1400,600); background(fond); textSize(30); fill(229,42,9); text("PLAYER 1",100,70); text("A = Ligne du haut ",100,200); text("Q = Ligne du centre ",100,300); text("W = Ligne du bas ",100,400); fill(9,185,229); text("PLAYER 2",900,70); text("P = Ligne du haut ",900,200); text("M = Ligne du centre ",900,300); text("! = Ligne du bas ",900,400); stroke(255,255,255); fill(0,0,0); rect(80, 500, 170, 70,7); fill(255,255,255); textSize(40); text("&#8592;BACK",100,550); } //if if (page=="règles"){ size(1400,600);//taille fenêtre fond=loadImage("fond-noir.png"); fond.resize(1400,600); background(fond); textSize(30); text("But du jeu :",100,100); text("Vous devez envoyer des balles contre votre adversaire afin de bloquer ses attaques.",100,200); text("Vous pouvez envoyer des balles sur trois lignes différentes pour défendre votre camp.",100,250); text("Si l'une de vos balles arrive à atteindre le bord ennemi vous remportez la partie.",100,300); text("En revanche si une balle adverse atteint votre camp vous perdez.",100,350); text("N'essayez pas d'appuyer rapidement sur les touches celà bloque le jeu",100,400); textSize(40); stroke(255,255,255); fill(0,0,0); rect(80, 500, 170, 70,7); fill(255,255,255); text("&#8592;BACK",100,550); }//if if( page=="rouge"){ smooth(); size(1400,600);//taille fenêtre fond=loadImage("fond-noir.png"); fond.resize(1400,600); background(fond); fill(229,42,9); text("Victoire Rouge", 550, 300); stroke(255,255,255); fill(0,0,0); rect(80, 500, 170, 70,7); fill(255,255,255); textSize(40); text("MENU",100,550); }//if if( page=="bleu"){ smooth(); size(1400,600);//taille fenêtre fond=loadImage("fond-noir.png"); fond.resize(1400,600); background(fond); fill(9,185,229); text("Victoire Bleu", 550, 300); stroke(255,255,255); fill(0,0,0); rect(80, 500, 170, 70,7); fill(255,255,255); textSize(40); text("MENU",100,550); }//if }//void _________________________________________________________________________________________________________________ void keyReleased(){ temps = millis(); // la fonction millis() donne le temps depuis que le programme a démarré (en millisecondes) for(int i=0; i<temps;i++) { //antispam... est déclaré au debut et est égal à -1000 (-1000 car comme sa on peut cliquer des que le programme se lance) // car quand on lance le programme "temps" sera égal à 0 et quelques et ducoup sa sera bien, >= à (-1000 +1000 donc 0) //touches bleues if (key == 'a'&& temps >= antispam1 +val){ uniteB.add( new bleu(50,200,color(30,144,255))); // On cree une unité qui s'ajoute dans le tableau "bleu" avec une posX, posY, une variable de comparaison et une couleur }//if if (key == 'q'&& temps >= antispam1 +val){ uniteB.add( new bleu(50,300,color(30,144,255))); // On cree une unité qui s'ajoute dans le tableau "bleu" avec une posX, posY, une variable de comparaison et une couleur }//if if (key == 'w'&& temps >= antispam1 +val){ uniteB.add( new bleu(50,400,color(30,144,255))); // On cree une unité qui s'ajoute dans le tableau "bleu" avec une posX, posY, une variable de comparaison et une couleur }//if antispam1 = temps; //Empêche le joueur bleu d'envoyer trop de balles //touches rouges if (key == 'p'&& temps >= antispam2 +val){ uniteR.add( new rouge(1350,200, color(237,0,0))); // On cree une unité qui s'ajoute dans le tableau "rouge" avec une posX, posY, une variable de comparaison et une couleur }//if if (key == 'm'&& temps >= antispam2 +val){ uniteR.add( new rouge(1350,300, color(237,0,0))); // On cree une unité qui s'ajoute dans le tableau "rouge" avec une posX, posY, une variable de comparaison et une couleur }//if if (key == '!'&& temps >= antispam2 +val){ uniteR.add( new rouge(1350,400,color(237,0,0))); // On cree une unité qui s'ajoute dans le tableau "rouge" avec une posX, posY, une variable de comparaison et une couleur }//if antispam2 = temps; //Empêche le joueur rouge d'envoyer trop de balles }//for }//void _________________________________________________________________________________________________________________ class bleu{ // On crée une classe (ou un objet) unité allié qui aura tous ces paramètres //Déclaration des paramètres de base de la balle float x; float y; color couleur; float deplacement; boolean isAlive=true; //Constructeur de l'unité bleu (float nouvX, float nouvY, color nouvCouleur) { //Pos x, Pos y, vérification, Couleur (Pour chaque unité créer il faudra lui donner en parametre une posx, une pos y ... (exemple : new unite(50,100,1,color(30,144,255)) this.x = nouvX; //position X this.y = nouvY; //position Y this.couleur = nouvCouleur; //couleur de l'unité } void deplacementB(){ deplacement++; for (int i = 0; i < uniteB.size(); i++) { bleu ball = (bleu) uniteB.get(i); ball.display(); }//for }//void void display() { fill(couleur); ellipse(compB=deplacement*2,compB2= y, 40, 40); }//void }//class void victoireB(){ uniteR.clear();uniteB.clear(); compB=0; page="bleu"; testsolo="rien"; SonVictoire.play(); SonVictoire.rewind(); player.pause(); player.rewind(); pages(page); }//void _________________________________________________________________________________________________________________ class rouge{ // On crée une classe (ou un objet) unité allié qui aura tous ces paramètres //Déclaration des paramètres de base de la balle float x; float y; color couleur; float deplacement; boolean isAlive=true; //Constructeur de l'unité rouge (float nouvX, float nouvY, color nouvCouleur) { //Pos x, Pos y, Couleur (Pour chaque unité créer il faudra lui donner en parametre une posx, une pos y ... (exemple : new unite(50,100,color(30,144,255)) this.x = nouvX; //position X this.y = nouvY; //position Y this.couleur = nouvCouleur; //couleur de l'unité } void deplacementR(){ deplacement++; for (int i = 0; i < uniteR.size(); i++) { rouge ball = (rouge) uniteR.get(i); ball.display(); }//for }//void void display() { fill(couleur); ellipse(compR=1350-deplacement*2,compR2= y, 40, 40); }//void }//class void victoireR(){ uniteR.clear();uniteB.clear(); compR=1400; page="rouge"; testsolo="rien"; SonVictoire.play(); SonVictoire.rewind(); player.pause(); player.rewind(); pages(page); }//void _________________________________________________________________________________________________________________ void creationennemis() { temps= random(100); // temps aleatoire ligne=int(random(1, 4)); //lignes aleatoire if (temps>1) return; //on laisse passer 99% plus on augmente plus compliqué int yValue=0; if (ligne == 1) { if (millis()-timer1<700) //on lance seulement si temps moin celui davant<700 sinon chevauchement return; // on lance une balle yValue=200; //lignes du haut timer1=millis(); // on prend comme donné la derniere balle de la ligne }//if ligne 1 else if (ligne == 2) { if (millis()-timer2<700) //on lance seulement si temps moin celui davant<700 sinon chevauchement return; // on lance une balle yValue=300; //lignes du milieu timer2=millis(); // on prend comme donné la derniere balle de la ligne }//if ligne 2 else if (ligne == 3) { if (millis()-timer3<700) //on lance seulement si temps moin celui davant<700 sinon chevauchement return; // on lance une balle yValue=400; //lignes du bas timer3=millis(); // on prend comme donné la derniere balle de la ligne }//if ligne 3 else { // //sinon rien }//else uniteR.add( new rouge(1350,yValue, color(237,0,0))); // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, lignes aleatoire, une variable de comparaison et une couleur }//void _________________________________________________________________________________________________________________
x
Éditer le texte

Merci d'entrer le mot de passe que vous avez indiqué à la création du texte.

x
Télécharger le texte

Merci de choisir le format du fichier à télécharger.