Jeu asteroid(niveau1)
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;
}
}