Se connecter / S'enregistrer
Votre question

Faire rebondir une balle en C avec SDL [RESOLU]

Tags :
  • Vecteur
  • Programmation
Dernière réponse : dans Programmation
18 Décembre 2006 20:55:07

salut tous le monde
J'ai voulu faire un petit casse brique pour m'entrainer => faire rebondir une balle sur 2 côtés de l'ecran a l'aide d'une variables booléen if(versdroite ==0) ou if (versdroite ==1) va a gauche ou a droite... ça c'est corsé avec les diagonales en utilisant le meme systeme ça marche bien pendant une minute mais aprés la balle ne rebondit pas sur le côté de droite mais la valeur de la variable est faites pour rebondir sur le mur de droite donc le rebond sur le côté du bas fait partir la balle de l'ecran et elle continue sa descente sans qu'on le voit...
Donc voilà quelqu'un a-t-il une idée pour faire faire des rebonds a une balle (a la casse-brique) en C avec la sdl SVP ?

Autres pages sur : rebondir balle sdl resolu

19 Décembre 2006 13:37:27

perso je ne vois pas l'intérêt de ton booléen.

tu as un vecteur de déplacement vx,vy

si x<0 ou x>=largeur, vx = -vx
si y<0 ou y>=hauteur, vy = -vy

tu inverses le vecteur déplacement quand tu dépasses l'un des bords de ton jeu.
19 Décembre 2006 13:49:59

slt merci pour ta reponse on peut utiliser des vecteurs en sdl ? Comment ? Le booléen c'était une indication dans un cour sur le net pour faire rebondir une image en ligne droite sur le côté droit et gauche c'est tout mais la suite de l'exercice c'est de faire pareil avec des diagonales et je n'ai pas encore vu de vecteur en programation
Contenus similaires
19 Décembre 2006 17:02:51

un vecteur c'est quoi ? deux composantes flottantes.
deux variables et hop tu as un vecteur.
ensuite selon ton langage tu peux les regrouper en structures, enregistrements ou objets mais le principe reste le même.
19 Décembre 2006 20:33:17

ok c'est juste une structure qu'il faut utiliser alors mais tu peux me montrer du code pour illustrer stp ^^
a b L Programmation
19 Décembre 2006 23:03:03

Un vecteur en 2D, c'est simplement 2 variables (x et y, ou vx et vy etc).
si tu prends un point représenté par 2 variables x1 et y1, un autre point représenté par les variables x2 et y2.
le vecteur qui passe du premier au second point est le vecteur représenté par les 2 variables vx et vy avec vx = x2 - x1 et vy = y2 - y1
19 Décembre 2006 23:08:03

oui j'ai compris mais le type de ces variables par exemple c'est quoi ? SDL_Rect ? et le vecteur quand je l'ai declaré comment je fais pour que PositionBalle.x ou positionBale.y varient en conséquence ?
a b L Programmation
19 Décembre 2006 23:17:21

Avec ceci:
PositionBalle.x += vx;
PositionBalle.y += vy;
tu déplace la position de la balle suivant le vecteur (vx, vy), c'est une simple translation.
19 Décembre 2006 23:24:09

d'accord ! Merci pour ton aide et donc pour declarer ce vecteur je fais comment ? j'utilise une structure et le type des variables c'est quoi alors SDL_Rect ?
20 Décembre 2006 13:03:25

si tu es en C, le type de ces variables sera quelque chose comme
  1. struct vecteur{
  2. float x,
  3. float y};

mais tu peux simplement gérer les 2 composantes dans deux variables bien distinctes. La structure ne sert qu'à regrouper sous un même nom plusieurs données.

et pour le SDL_Rect, aucun rapport.
20 Décembre 2006 13:18:03

d'accord merci beaucoup tout les deux ^^
20 Décembre 2006 23:35:13

C'est bon j'ai tester et sa marche super bien merci encore a vous deux ^^ (et au fait vous n'auriez pas appris cela sur un site ? Si oui vous pouvez me dire lequel SVP là je suis surtout sur le site du zero c'est un trés bon site mais comme les vecteurs n'ont pas étés abordés il vaut mieux que je vois un peu les autres sites pour voir si quelques autre notion de se genre n'ont pas été traités ^^)
20 Décembre 2006 23:54:48

si tu ne vois pas par toi-même le lien entre un concept mathématique et la manière de le programmer, à mon avis c'est que tu manques de recul par rapport au concept.

A part un bouquin de maths et de la pratique, je ne vois pas.
La pratique est l'une des clefs de la réussite en programmation.
21 Décembre 2006 00:25:39

oui en meme temps je commence a faire des programmes en dehors de la console mais je suis tete en l'air et j'oubli de temps en temps des petits truc qui font planter la compilation je devrai etre plus attentif ^^ et en effet connaissant bien les math je n'ai pas eu la moindre idée pour créer un vecteur en C ^^ se qui me console c'est que j'avais demander conseil a un amis un peu plus calé en math et moins tete en l'air et qu'il n'a pas n'on plus été capable de me repondre XD sinon pour m'entrainer les jeux sont une idée mais la gestion des collisions etc n'est pas evidente en fait pour des jeux potable et pratiquer quand on ne sait pas faire c'est de l'entêtement il vaut mieux y aller progressivement non ? ^^ je vais éssayer de faire quelques jeux tout seul pour commencer et sans regarder les cours ^^
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