Bonjour à tous, je fais un flipper en SDL actuellement avec un nombre d'obstacles de formes très variée.

Pour la gestions des collisions,j'utilise une Map_collision, ou j'ai mis des points noirs RGB(0,0,0) et sur ma bille j'ai repéré 8 points.
gauche,droite,haut,bas, +et- pi/4, +et- (pi+pi/4)

A chaque mouvement de balle je contrôles la positions de ces 8 pixels par rapport à la Map_collision, si il y'a contact j'inverse les vecteur suivant le point en contact.
pour les positions pi/4 j'inverse vectx et vecty et pour le haut,bas j'inverse vecty et pour le gauche droite j'inverse vectx.

Cependant j'ai de gros problèmes avec ma méthode:

->Lorsque la balle a un vecteur vitesse telle que vx=19 et vy=10, il arrive que ma balle rentre dans le décors totalement(bordures et obstacles).
(Il me faudrait donc une fonction qui contrôle si la bille est rentré dans un obstacle avant de la blitter et si c'est le cas la blitter au bord)
Par exemple ceci serais simple a faire pour un vecteur x=y=10 j'incrémente progressivement la position de la balle de pos.x++ pos.y++ et je contrôle si il y a des collisions.Si je vois qu'il y'a contact,je m'arrête je blitte et je modifie le sens des vecteurs.
Mais pour les vecteur tel que vx=1 vy=20 il y'a problème je ne sais pas comment faire ?