J'oubliais : j'suis une tanche en maths.
Bon merci pour l'aide, mais je suis parti sur une idée simple :
La balle percute le bord haut :
- Si elle vient de la gauche, elle part à droite, et vice versa.
- Jusqu'à la prochaine collision, à chaque instant de la boucle while, elle descend de 1px en X et 1px en Y.
Et similairement pour le bord bas.
Mes conditions pour la percution des raquettes :
- Si la coordonnée Y du centre de la balle est comprise entre celle des deux extrémitiés de la raquette
- Si le centre de la balle est à 4px (rayon de la balle) du bord de la raquette
Alors si c'est la raquette de droite, la balle part à gauche, et vice versa
Alors si la balle vient d'en haut, elle part en bas, et vice versa.
D'où ce bout de code :
if (xb=>xpl && xb<=xpl+15 && yb=6)
{
dep_hori = 1;
dep_verti *= -1;
}
Pareil pour la raquette de la TI.
Et pour les collisions pour les bords, même principe.
Sauf que ça marche pas :s