J'ai pas trop analysé, mais c'est un gros bordel ce code
déjà les variables gravite et gravity c'est pas très parlant, ensuite ça a pas l'air trop structuré
T'inquiète pas je faisais pareil à l'époque, mais en partant sur qqch de bien fait on a bcp moins de problèmes après
SFML c'est pas mal, j'ai bien aimé. En plus ya qques tutos en francais et anglais sur le site officiel pour débuter
En tout cas essaie de mieux structurer ton code, de séparer clairement les différentes étapes du programme, de bien nommer les choses, etc.
Par exemple, dans un jeu en général la base de la base c'est une fonction init (ou autre nom mais bon...) qui initialise le programme (fenêtres, tout ça), une fonction update qui met à jour les objets et une fonction draw qui affiche tout
D'ailleur si tu utilise la SFML, ils utilisent ça dans les tutos si je me trompe pas 