Jeu asteroid(niveau1)

Publié le par jeremy01

Voici un petit jeu où le but est d'éviter des asteroids avec un petit boss à la fin(environ 300 lignes de codes).


Niveau1 complet:



float deplacementX;
float asteroid1 ,asteroid2 ,asteroid3 , asteroid4;
int vie;
int numero;
int deplacementlaser;
int deplacementboss1;
int aaa;
int vieboss1;
int avancetext;
   
 PFont font;

void setup() {
 size(800,800);
 deplacementX = 320;
 asteroid2 = 0;
 asteroid4 = 0;
 numero = 0;
 deplacementboss1 = 0;
 deplacementlaser=780;
 avancetext=-400;
 vie = 3;
 aaa=60;
 vieboss1=5;

   font = loadFont("Abilene-48.vlw");
   textFont(font);
 
 noStroke();
 
}


void draw(){
 
  nettoyer();
  dessinervaisseau();
  bougervaisseau();
  dessinerasteroid();
  bougerasteroid();
 bougerlaser();
  vie();
  score();
 
  }
 
void nettoyer(){
background(0);
}

void bougerlaser(){
  deplacementlaser = deplacementlaser - 10;
  
     
     rect(deplacementX+30,deplacementlaser,10,10);
     
   if(deplacementlaser==0){
      deplacementlaser=780;
  }   
     
  }

void dessinervaisseau(){
  rect(deplacementX,780,80,20);
  fill(255);
 
}

void bougervaisseau(){
  if(keyPressed ){
    if(key=='a' && deplacementX>=10){
    deplacementX = deplacementX - 10;
   
  }
    if(key == 'p' && deplacementX<=720){
      deplacementX = deplacementX + 10;
      }
  
       
      }
     
}

void dessinerasteroid() {
 
  rect(asteroid1,asteroid2,40,40);
  fill(255);
  rect(asteroid3,asteroid4,40,40);
  fill(255);
  }
 
void bougerasteroid() {
  if(asteroid2 == 0){
  asteroid1 = random(0,790);
  }
 
 if(asteroid4 == 0){
  asteroid3 = random(0,790);
  }
 
  asteroid2 = asteroid2 + 10;
  asteroid4 = asteroid4 + 15;

if(asteroid2 >= 800){
  asteroid2 = 0;

if(asteroid4 >= 800){
  asteroid4 = 0;
  }
}

void vie() {
 int i;
  if(asteroid1+10 >= deplacementX && asteroid1+10 <= deplacementX + 80 &&  asteroid2 == 780 || asteroid3+10 >= deplacementX && asteroid3+10 <= deplacementX + 80 &&  asteroid4 == 780 ){
  
    vie = vie - 1;
   
    }

  if(vie == 3){
    //coeur1
    rect(25,50,10,10);
    fill(255);
    rect(20,40,20,10);
    fill(255);
    rect(15,30,30,10);
    fill(255);
    rect(10,20,15,10);
    fill(255);
    rect(35,20,15,10);
    fill(255);
    rect(12,10,8,10);
    fill(255);
    rect(38,10,8,10);
    fill(255);
    //coeur2
    rect(75,50,10,10);
    fill(255);
    rect(70,40,20,10);
    fill(255);
    rect(65,30,30,10);
    fill(255);
    rect(60,20,15,10);
    fill(255);
    rect(85,20,15,10);
    fill(255);
    rect(62,10,8,10);
    fill(255);
    rect(88,10,8,10);
    fill(255);
    //coeur3
     rect(125,50,10,10);
    fill(255);
    rect(120,40,20,10);
    fill(255);
    rect(115,30,30,10);
    fill(255);
    rect(110,20,15,10);
    fill(255);
    rect(135,20,15,10);
    fill(255);
    rect(112,10,8,10);
    fill(255);
    rect(138,10,8,10);
    fill(255);
   
   
   
    }
 if(vie == 2){
    //coeur1
    rect(25,50,10,10);
    fill(255);
    rect(20,40,20,10);
    fill(255);
    rect(15,30,30,10);
    fill(255);
    rect(10,20,15,10);
    fill(255);
    rect(35,20,15,10);
    fill(255);
    rect(12,10,8,10);
    fill(255);
    rect(38,10,8,10);
    fill(255);
    //coeur2
    rect(75,50,10,10);
    fill(255);
    rect(70,40,20,10);
    fill(255);
    rect(65,30,30,10);
    fill(255);
    rect(60,20,15,10);
    fill(255);
    rect(85,20,15,10);
    fill(255);
    rect(62,10,8,10);
    fill(255);
    rect(88,10,8,10);
    fill(255);
    }
 if(vie == 1)   {
   //coeur1
    rect(25,50,10,10);
    fill(255);
    rect(20,40,20,10);
    fill(255);
    rect(15,30,30,10);
    fill(255);
    rect(10,20,15,10);
    fill(255);
    rect(35,20,15,10);
    fill(255);
    rect(12,10,8,10);
    fill(255);
    rect(38,10,8,10);
    fill(255);
    }
 while(vie == 0) {
   background(0);
   text(numero, 380, 380);
   fill(0, 102, 153);
 
  
 }
      
   }


void score(){ 
  
 if(((asteroid1+10 < deplacementX || asteroid1+10 > deplacementX + 80) &&  asteroid2 >= 790 && asteroid1>0 && asteroid1<800) ||( (asteroid3+10 < deplacementX || asteroid3+10 > deplacementX + 80) &&  asteroid4 >= 790 && asteroid1>0 && asteroid1<800)){
  
   numero = numero + 1;
  
}
  
   text(numero, 600,30);
   fill(0, 102, 153);
  
   if(numero < 20){
    text("niv",300,30);
    fill(0,102,153);
     text("1-1",400,30);
     fill(0,102,153);
     }
  
   if(numero >=20 && numero <40 ){
     text("niv",300,30);
     fill(0,102,153);
     text("1-2",400,30);
     fill(0,102,153);
     if(asteroid2 == 0){
  asteroid1 = random(0,790);
  }
 
 if(asteroid4 == 0){
  asteroid3 = random(0,790);
     }
    
    
     }
   if(numero >=40 && numero <60){
 
     text("niv",300,30);
     fill(0,102,153);
     text("1-3",400,30);
     fill(0,102,153);
     if(asteroid2 == 0){
  asteroid1 = random(0,790);
  }
 
 if(asteroid4 == 0){
  asteroid3 = random(0,790);
  }
    
     }
    
 if(numero>=60 && numero<150){
   avancetext=avancetext+5;
   
     text("niv",300,30);
     fill(0,102,153);
     text("1-boss",400,30);
     fill(0,102,153);
     text("5 coups pour le battre",avancetext,300);
     fill(0,102,153);
     asteroid3 = -2000;
     asteroid1 = -2000;
      deplacementboss1 = deplacementboss1 + 5;
    
     rect(deplacementboss1,aaa,80,20);
     fill(255);
     rect(deplacementboss1-20,aaa+20,20,20);
     fill(255);
     rect(deplacementboss1+80,aaa+20,20,20);
     fill(255);
     }
 
   
     if(deplacementboss1==0){
       deplacementboss1 = deplacementboss1 + 5;
       }
     if(deplacementboss1==800){ 
       deplacementboss1 = 0;
       aaa=aaa+20;
      
     }
     if(deplacementlaser==aaa && deplacementX+30<deplacementboss1+80 && deplacementX+30>deplacementboss1){
       vieboss1=vieboss1-1;
       deplacementlaser=780;
     }
     if(vieboss1==0){
       deplacementboss1=10000;
       numero=150;
       }
     if(vieboss1==4){
       numero=70;
       }
     if(vieboss1==3){
       numero=80;
       }
     if(vieboss1==2){
       numero=90;
       }
     if(vieboss1==1){
       numero=100;
     }
 
 
}

Publié dans asteroid

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
A
Je sais que cette publication date mais pourquoi ne pas utiliser une boucle for?
Répondre
J
Je parle bien sûr de cette image: Abilene-48.vlw
Répondre
J
Il faudrait nous joindre avec le programme les images utilisées pour pouvoir l'exécuter ^^
Répondre
U
il y a un probleme avec cette ligne "font = loadFont("Abilene-48.vlw");"
Répondre
J
Il suffit tou simplemetn de supprié cette ligne fdp
A
ne marche ps xd
Répondre