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