Se connecter / S'enregistrer
Votre question

[C]Le jeu du PONG (résolu)

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
26 Mars 2006 15:00:05

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

Autres pages sur : jeu pong resolu

a b L Programmation
26 Mars 2006 15:11:36

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)

26 Mars 2006 15:16:07

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
Contenus similaires
a b L Programmation
26 Mars 2006 16:42:20

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()
27 Mars 2006 20:41:16

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!
a b L Programmation
27 Mars 2006 20:57:45

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

28 Mars 2006 19:00:35

Bon ba j'arrive à faire mon pong , Merci ;-)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS