Cours:Pong
Révision datée du 10 octobre 2016 à 11:18 par Bjacquot (discussion | contributions) (Page créée avec « <source lang=c> float posBalleX,posBalleY,vitesseBalleX,vitesseBalleY; float posRaquetteGauche; final float rayonBalle=15; final float tailleRaquette=100; final float larg... »)
float posBalleX,posBalleY,vitesseBalleX,vitesseBalleY;
float posRaquetteGauche;
final float rayonBalle=15;
final float tailleRaquette=100;
final float largeurRaquette=30;
final float decalageRaquette=50;
void settings() {size(800,600);}
void setup(){
posBalleX=width/2; posBalleY=height/2;
vitesseBalleX=-10; vitesseBalleY=1;
}
void draw(){
deplacer();
rebondir();
rebondirRaquette();
afficher();
perdu();
}
void deplacer(){
posBalleX = posBalleX+vitesseBalleX;
posBalleY = posBalleY+vitesseBalleY;
posRaquetteGauche=mouseY;
if ( posRaquetteGauche>(height-tailleRaquette) ) posRaquetteGauche=height-tailleRaquette;
}
void afficher(){
background(0);
fill(255);
ellipse(posBalleX,posBalleY,2*rayonBalle,2*rayonBalle);
fill(255,0,0);
rect(decalageRaquette,posRaquetteGauche,largeurRaquette,tailleRaquette);
}
void rebondir(){
// mur droit
if ( (posBalleX+rayonBalle) >= width ) vitesseBalleX = -vitesseBalleX;
// mur bas
if ( (posBalleY+rayonBalle) >= height ) vitesseBalleY = -vitesseBalleY;
// mur haut
if ( (posBalleY-rayonBalle) <= 0 ) vitesseBalleY = -vitesseBalleY;
}
void rebondirRaquette(){
if ( (posBalleX-rayonBalle)<=(decalageRaquette+largeurRaquette) &&
(posBalleX-rayonBalle)>=(decalageRaquette+largeurRaquette+vitesseBalleX) )
{
if ( (posBalleY>posRaquetteGauche) &&
(posBalleY<(posRaquetteGauche+tailleRaquette)) )
vitesseBalleX = -vitesseBalleX;
}
}
void perdu(){
// mur gauche
if ( (posBalleX-rayonBalle) <= 0 ) {
posBalleX = width/2;
posBalleY = height/2;
}
}