Cours:Pong : Différence entre versions
(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... ») |
|||
| Ligne 8 : | Ligne 8 : | ||
| − | void settings() {size(800,600);} | + | void settings() |
| − | void setup(){ | + | { |
| + | size(800,600); | ||
| + | } | ||
| + | |||
| + | void setup() | ||
| + | { | ||
posBalleX=width/2; posBalleY=height/2; | posBalleX=width/2; posBalleY=height/2; | ||
vitesseBalleX=-10; vitesseBalleY=1; | vitesseBalleX=-10; vitesseBalleY=1; | ||
} | } | ||
| − | void draw(){ | + | |
| + | void draw() | ||
| + | { | ||
deplacer(); | deplacer(); | ||
rebondir(); | rebondir(); | ||
| Ligne 20 : | Ligne 27 : | ||
perdu(); | perdu(); | ||
} | } | ||
| − | void deplacer(){ | + | |
| + | void deplacer() | ||
| + | { | ||
posBalleX = posBalleX+vitesseBalleX; | posBalleX = posBalleX+vitesseBalleX; | ||
posBalleY = posBalleY+vitesseBalleY; | posBalleY = posBalleY+vitesseBalleY; | ||
| Ligne 26 : | Ligne 35 : | ||
if ( posRaquetteGauche>(height-tailleRaquette) ) posRaquetteGauche=height-tailleRaquette; | if ( posRaquetteGauche>(height-tailleRaquette) ) posRaquetteGauche=height-tailleRaquette; | ||
} | } | ||
| − | void afficher(){ | + | |
| + | void afficher() | ||
| + | { | ||
background(0); | background(0); | ||
fill(255); | fill(255); | ||
| Ligne 33 : | Ligne 44 : | ||
rect(decalageRaquette,posRaquetteGauche,largeurRaquette,tailleRaquette); | rect(decalageRaquette,posRaquetteGauche,largeurRaquette,tailleRaquette); | ||
} | } | ||
| − | void rebondir(){ | + | |
| + | void rebondir() | ||
| + | { | ||
// mur droit | // mur droit | ||
if ( (posBalleX+rayonBalle) >= width ) vitesseBalleX = -vitesseBalleX; | if ( (posBalleX+rayonBalle) >= width ) vitesseBalleX = -vitesseBalleX; | ||
| Ligne 41 : | Ligne 54 : | ||
if ( (posBalleY-rayonBalle) <= 0 ) vitesseBalleY = -vitesseBalleY; | if ( (posBalleY-rayonBalle) <= 0 ) vitesseBalleY = -vitesseBalleY; | ||
} | } | ||
| − | void rebondirRaquette(){ | + | void rebondirRaquette() |
| + | { | ||
if ( (posBalleX-rayonBalle)<=(decalageRaquette+largeurRaquette) && | if ( (posBalleX-rayonBalle)<=(decalageRaquette+largeurRaquette) && | ||
(posBalleX-rayonBalle)>=(decalageRaquette+largeurRaquette+vitesseBalleX) ) | (posBalleX-rayonBalle)>=(decalageRaquette+largeurRaquette+vitesseBalleX) ) | ||
| Ligne 47 : | Ligne 61 : | ||
if ( (posBalleY>posRaquetteGauche) && | if ( (posBalleY>posRaquetteGauche) && | ||
(posBalleY<(posRaquetteGauche+tailleRaquette)) ) | (posBalleY<(posRaquetteGauche+tailleRaquette)) ) | ||
| − | + | vitesseBalleX = -vitesseBalleX; | |
} | } | ||
} | } | ||
| − | void perdu(){ | + | |
| + | void perdu() | ||
| + | { | ||
// mur gauche | // mur gauche | ||
if ( (posBalleX-rayonBalle) <= 0 ) { | if ( (posBalleX-rayonBalle) <= 0 ) { | ||
Version actuelle datée du 10 octobre 2016 à 11:19
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;
}
}