top of page

projet 7 Réalisation d'un jeu

Lorsque le programme est lancé on voit 10 balles qui rebondissent sur l'écran . Chaque balles est composées de trois ellipses de transparence différentes. 10 rectangles indiquent le nombre de tirs restant .Un texte indique le score .

L'utilisateur peut tirer avec le clic gauche et recharger avec le clic droit.A chaque tir un rectangle disparait , si le tir est réussi , le score augmente et une balle disparait . Au contraire si le tir est raté le score reste le même.

On peut décomposer la programmation en plusieurs étapes :

-10 rectangles

-10 balles rebondissantes

-le score

-la gestion des clics droit et gauche ( si clic ...est cliquer alors....)

cliquez sur le lien pour avoir une fiche détaillée des instructions

processing 2.PNG

Voici le début d'un programme pour faire une ellipse qui bouge

  xpos = new float[10];
  ypos = new float[10];
  noStroke();
  noCursor();
  frameRate(30);
  ellipseMode(RADIUS);  
  for(int i=0; i<10;i++){
  xpos[i] = random(25,350);
  ypos[i] = random(25,350);
  xdirection[i] = 1;
  ydirection[i] = 1;
  noCursor();
  }
}

void draw()
{
 background(20);
 fill(255);
 text("Your score is  " + x, tx,ty);
  if(millis()<5000) {
  text("Press left mouse button to fire. Press right mouse button to reload.", 15, 40);
  }

  for (int r = 0; r <nombrederectangles; r++) {
     fill(255);
       if(balleout == 10){fill(0);}
     noStroke();
   rect(350,230+15*r,16,6);
  }
  noFill();
 for(int i=0; i<10;i++){
  xpos[i] = xpos[i] + ( xspeed * xdirection[i] );
  ypos[i] = ypos[i] + ( yspeed * ydirection[i] );
 
 


 

f(balleout == 10){  

tx = 10;

 ty= 175;

 textSize(43);

 } 

 }  

} 

if(xpos[i] > width-rad

|| xpos[i] < rad){ 

   xdirection[i]*=-1;  } 

  if(ypos[i] > height-rad || ypos[i] < rad){  

  ydirection[i]*=-1;   } 

fill(213,220,245);

ellipse(xpos[i],ypos[i],ball,ball);

fill(103,136,250);

ellipse(xpos[i],ypos[i],bull,bull);

fill(0,56,252);

ellipse(xpos[i],ypos[i],rad,rad);}

if(mousePressed){    stroke(255,255,0);

  }else{   

stroke(255,0,0); }

noFill(); 

if(balleout == 10){fill(0);} 

ellipse(mouseX , mouseY,30,30 );  strokeWeight(2.2);  

line(mouseX-30,mouseY,mouseX+30,mouseY); 

line(mouseX,mouseY-30,mouseX,mouseY+30); 

noStroke();}void mousePressed(){ 

if (mouseButton == LEFT) {   

nombrederectangles = nombrederectangles - 1;  }

  if(mouseButton == RIGHT) {    nombrederectangles = 10;  }

bottom of page