jimmy30
Messages postés7Date d'inscriptionvendredi 2 mai 2008StatutMembreDernière intervention12 mai 2008
-
12 mai 2008 à 16:43
jimmy30
Messages postés7Date d'inscriptionvendredi 2 mai 2008StatutMembreDernière intervention12 mai 2008
-
12 mai 2008 à 18:22
/* Placement des barres, balle et ligne */
posBar1.x = 50;
posBar1.y = SCREEN_H/2 - BAR_H/2;
}
Voial une partie d'un pong simple question je cherche a comprendre comment ca fonstionne et la je bloque sur SCREEN_H et BAR_H pareil pour le _W
Quelqu'un peut t'il m'expliquer ce morceau svp
Merci ^^
/* --- Placement des barres et de la balle */
resetBall(&posBall,&xBall,&yBall);
/* --- Placement de la ligne de séparation */
posLigne.x = SCREEN_W/2 - LINE_W/2;
posLigne.y = 0;
/* --- Boucle du jeu */
while(alive)
{
/* --- Mise à jour des scores */
sprintf(scoreP1_s,"%d",scoreP1);
sprintf(scoreP2_s,"%d",scoreP2);
score1 = TTF_RenderText_Solid(font,scoreP1_s,couleurScore);
score2 = TTF_RenderText_Solid(font,scoreP2_s,couleurScore);
/* --- Rebond sur le bord supérieur de l'écran */
/* --- ==> la balle repart vers le bas (dans le même sens)*/ if (posBall.y <0) yBall BALL_SPEED; // vitesse verticale
/* --- Rebond sur le bord bas de l'écran */
/* --- ==> la balle repart vers le haut (dans le même sens) */ if (posBall.y >600) yBall -BALL_SPEED; // vitesse verticale
/* --- Si la balle atteint le bord gauche */
/* --- ==> recentrer la balle */
/* --- ==> ajouter un point au joueur 2 */
if (posBall.x <= 0)
{
resetBall(&posBall,&xBall,&yBall);
++scoreP2;
}
/* --- Si la balle atteint le bord droit */
/* --- ==> recentrer la balle */
/* --- ==> ajouter un point au joueur 1 */
if (posBall.x + BALL_SIZE > SCREEN_W)
{
resetBall(&posBall,&xBall,&yBall);
++scoreP1;
}
/* --- Si la balle atteint la barre de gauche */
/* --- ==> la balle repart vers la droite */
if (posBall.x <= posBar1.x+BAR_W && posBall.x > posBar1.x)
if (posBall.y >= posBar1.y && posBall.y <= posBar1.y + BAR_H)
xBall = BALL_SPEED; // vitesse horizontale
/* --- Si la balle atteint la barre de droite */
/* --- ==> la balle repart vers la gauche */
if (posBall.x >= posBar2.x && posBall.x < posBar2.x + BAR_W/2)
if (posBall.y >= posBar2.y && posBall.y <= posBar2.y + BAR_H)
xBall = -BALL_SPEED; // vitesse horizontale