Tom's Guide > Forum > Programmation > [C]Le jeu du PONG (résolu)
[C]Le jeu du PONG (résolu) - Programmation
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Je suis entrain de créer le pong en c (exo de cours)
Le souci , c'est que je n'arrive pas à faire ricocher la balle contre les murs .
Le terrain de jeu est bon , mais pour le reste , j'aurais besoin d'un ptit coup de main .
Le Pong (fichier .c)

Merci d'avance ;-)

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

ta balle a une position x et y et un déplacement dx et dy
si tu tapes le mur de droite tu fais dx=-1, celui de gauche dx=1, etc.
pour déplacer ta balle tu fait (x + dx, y + dy)

Répondre à CRicky

c'est bien joli , mais comment tu fais pour faire bouger la balle ? Avoir une position c'est bien , mais j'arrive pas à changer la position , ou alors c'est trop rapide

Répondre à razmo78

Le mieux est d'utiliser la technique des sprites.
Tu fais une boucle pour faire tes déplacements. Là c'est trop rapide, alors tu ne le fais avancer qu'au bout d'un certain temps:
- soit tu fais tous les 10 boucles par exemple. Le problème est que s'il y a du traitement, ça va lagger (par exemple l'appuie de touches)
- soit tu le fais toutes les 100 ms par exemple. Pour ça il faut avoir un compteur précis. Si tu programme sous windows, tu as GetTickCount(), et sous linux clock()

Répondre à CRicky

je te remercie beaucoup!

Le souci c'est que je n'arrive pas à mettre en oeuvre tes belles paroles!
T'aurais un exemple sous la main ?

Merci en tous cas!

Répondre à razmo78

En gros:

Code :
  1. tempsAvant = GetTickCount();
  2. Tant que pas finit
  3.    
  4.     tempsCourant = GetTickCount();
  5.     si tempsCourant - tempsAvant < 100000
  6.             affiche_balle(x,y);
  7.             x = x + dx;
  8.             y = y + dy;
  9.             si x > 100, dx = -1
  10.             si y > 100, dy = -1
  11.             si x < 10, dx = 1
  12.             si y < 10, dy = 1


Répondre à CRicky

Bon ba j'arrive à faire mon pong , Merci ;-)

Répondre à razmo78
Tom's Guide > Forum > Programmation > [C]Le jeu du PONG (résolu)
Aller à :

Il y a 1270 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens