J'ai fait un path-fiding pour total, je peut essayer de t'expliquer :
Tu fais une routine path_lenght (A, B) qui te trouve la distance du meilleur chemin entre A et B. Voila comment elle marche:
| Pour commencer, tu va en ligne droite du point A au point B.
| Si tu rencontre un obstacle (un case a penalité pour toi), tu prend la direction perpendiculaire au deplacemnt, et du trouve les deux case a droite et a gauche de l'abstacle (C et D).
| Et tu renvoie [b]MIN ( path_lenght(A,C)+path_lenght(C,B), path_lenght(A,D)+path_lenght(d,B) )[b] (appel recurcif)
| Sinon, tu renoie la distance en ligne droite
| Et s'il y a un ostacle incontournable (la mer qui va j'usqu'au bout de la map), tu renvoie 0xffff.
Il va falloir qui tu limite le nombre de recursivitées, sinon, le calcul ne finira jamais !
Et tu rajouter quelques subtilitées pour eviter de recalculer plusieurs foi la meme chose, mais c'est pas facile ...