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
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; }