Cours:Pong

De troyesGEII
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... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
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;
  }

}