Ben en fait, pour une fois, faire la chose en Ruby serait simple, donc pourquoi s'en priver.
"mais je n'ai pas trouver comment le retranscrire en programmation simple."
-> Tu fais tes opérations comme tu le faisais sur les vieilles calculatrices (tu sais, celles qui prenaient pas en compte les règles de priorité, comme les multiplications avant les additions, et toussa
) : tu stockes les coordonnées x et y du monstre dans des variables "a" et "b" (nommées au bol), tu soustrais chacune par les coordonnées x et y respectives du héros.
Puis tu en fais la norme ainsi que le calcul de l'angle.
Pour ce qui est des opérations comme la racine ou l'arctangente, si "vraiment" tu as un problème avec Ruby, tu peux toujours en faire une développement limité (Taylor/MacLaurin), mais comme tu peux l'imaginer, ça complique énormément l'écriture de la chose. En plus de créer des erreurs (liées à Taylor), d'autant plus que tu dois te farcir les histoires de cadrans, lors de l'arctangente. (Là où en Ruby, tout est simplifié par un simple atan2
)
Taylor-MacLaurin, définition et quelques développements qui nous concernent :
http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_de_Taylor#Remarques
http://fr.wikipedia.org/wiki/Racine_carr%C3%A9e#Analyse
http://fr.wikipedia.org/wiki/Arc_tangente#D.C3.A9veloppement_en_s.C3.A9rie_de_Taylor
Bref, je te conseille vivement de faire ça à coup de Ruby. Si tu veux, je te laisse une version dont l'utilisation n'a pas encore été simplifiée :
http://pastebin.com/iQLvfWfa
En gros, à partir de ça, il te reste plus qu'à créer une condition, et faire appel à la méthode monstre_inside? (en passant les valeurs adéquates) dans le champ "script", pour savoir si oui les dégâts doivent être appliqués ou non. 