Bonjour
Je code actuellement un jeu semblable au célèbre Worms.
Je suis en train de m'occuper de l'intelligence artificielle et notamment le calcul de la vitesse initiale avec laquelle il faut tirer au bazooka pour atteindre un ennemi.
J'explique donc la situation :
- Mon joueur est à la position
Le joueur ennemi est à la position
- Les deux forces constantes qui s'exercent sur le projectile sont g (gravité) et w (le vent). g est perpendiculaire et w est horizontale.
- La masse n'est pas prise en compte dans le moteur physique de mon jeu.
- Le centre du repère est en haut à gauche. La gravité est donc positive
Ce que je souhaite calculer :
Je souhaite calculer la vitesse initiale v(0) avec laquelle il faut tirer pour que le projectile touche l'ennemi en position .
Seulement il faut que le projectile ne traverse pas de la matière "des pixels remplis" dans mon jeu. C'est pourquoi il faut pouvoir trouver une vitesse initiale différente tant que la trajectoire calculée ne coupe pas un obstacle.
Le but est donc de calculer une vitesse initiale qui permettra au projectile de contourner un éventuel obstacle
Voila ce que j'ai déjà fait :
j'ai intégré l'accélération pour trouver la vitesse puis la vitesse pour l'accélération pour arriver à :
p(t) = (g + w) / 2 * t² + v(0) * t + p(0)
Après j'ai essayé de partir dans pleins de direction mais je ne sais pas vraiment comment procéder :/
Merci beaucoup pour votre aide
-----