Aperçu du sketch exécutable au 10 février

PImage fond;
int x=25;
int y=25;
int TableauX[]=new int[30];
int TableauY[]=new int[30];
int i=0;
float x1=250;
float y1=445;
float depY=0;
float depX=0;
float vit=0;
boolean reverse = false;
color [] rgb= {#F00C0C,#837F86,#F5F5F5};
int [] id_couleurs_balles = new int[30];
int [] couleurs_balles = new int[30];

void setup(){
size(500,500);
fond= loadImage("fond.jpeg");
for (int i=0; i<30;i++) {
id_couleurs_balles[i]= int(random(3));
int idref=id_couleurs_balles[i];
color balls= rgb[idref];
print(balls);
couleurs_balles[i]=balls;
//print(couleurs_balles[i]);
print("-");
}

}



void draw(){
image(fond,0,0,width,height);
Canon();
Balle();
line(250,445,250,0);
Tir();
//line(0,420,500,420);//ligne qu'il ne faut pas dépasser sinon perdu

}


void Canon(){
line (mouseX,mouseY,250,445);
fill(#FAFAFA);
rect(225,470,50,30);}

void Balle(){
for (int i=0; i<30;i++) {
if(i==0) {
  x=25;
}
else { x=x+50;
}
 if(i==0){
    y=25;
  }
if(i==10){
  y=y+50;
  x=25;
}
if(i==20){
  y=y+50;
  x=25;
}
 
//print(x);
//print("-");
TableauX[i]=x;
TableauY[i]=y;
ellipse(x,y,50,50);
color ball_color= couleurs_balles[i];
fill(ball_color);

}
}

void Tir() {
  ellipse(x1,y1,50,50);

  if (mousePressed==true) {
    if(mouseX == 250)
     {
       depX=0;
       depY=1;
       vit=10;
     }
     else
     {
       if(mouseX < 250)
       {
          depX=-1;
       }
       else
       {
         depX=1;
       }
    
       depY=abs((mouseY-y1)/(mouseX-x1)*depX);
       vit = 10/(abs(depX)+depY);
     }
  }
 
  if(y1>30)
  {
     y1 = y1-depY*vit; // déplacement vertical de la balle
     
     if(!reverse) // la balle va dans le sens de tir initial.
      {
        if(x1<470 && x1>30)
        {
          x1 = x1+depX*vit;  // déplacement horizontal de la balle
        }
        else // rebond 1,3,5..
        {
          reverse = true; // la balle change de direction car rebond
          x1 = x1-depX*vit; // fait le chemin horizontal inverse puiqu'il y a eu rebond
        }
      }
      else // <=> if(reverse) = si la balle touche encore un bord.
      {
        if(x1<470 && x1>30)
        {
          x1 = x1-depX*vit;  // chemin inverse à sa direction de tir
        }
        else // rebond 2,4,6..
        {
          reverse = false; // balle après rebond
          x1 = x1+depX*vit; // déplacement horizontal normal.
        }
         
      }
  }

}
}

Contact

Projet ISN Bubble Shooter

© 2015 Tous droits réservés.

Créer un site internet gratuitWebnode