21-08-2011, 03:34 PM
(21-08-2011, 03:28 PM)Hideaki a écrit : Ta formule heuristique des coût est à changer,Je multiplies par 10 car un déplacement = 10.
Tu peux utiliser la même formule pour les cases carrés et hexagonales.$couts["h"] = ceil(sqrt(($xCourrant*$xFinal)+($yCourrant*$yFinal)));
Concernant la forum de Manathan, je ne vois pas pourquoi tu l'as multiplier par 10 ( cela sert à rien), je te conseillerais d'utiliser la formule euclidienne qui un aspect plus naturel au déplacement.
http://fr.wikipedia.org/wiki/Distance_(m...vectoriels
Ton coût g est le coût de déplacement déjà effectué, le + 14 ou le + 10 ne sert à rien.
Le +14 et +10 servent: en fait je récupère le cout g du parent, auquel j'ajoutes 10 ou 14. Si je n'ajoutes pas 10 ou 14, g vaudras toujours 0.