Tu prends le risques de ramer en faisant ça (pour moi). Par exemple, si ta case de marais est ta case de départ ou d'arrivée, tu vas rater un des coûts. Et je trouve compliqué, point de vue raisonnement, de se dire "je pose le coût de déplacement sur ma case", qui est une notion statique, plutôt que "je pose le coût de déplacement sur mon edge orienté".
Et si le graph est orienté, alors tu ne peux plus le faire du tout (comme dit, t'es obligé de ne faire des coûts qui "ne dépendant pas de la case de provenance" pour toute la grille). Après, si tu veux mettre les coûts sur les cases, je pense que le mieux est de faire une pré-passe qui convertir ce coût de la case vers les edges. Ca te permet de monter facilement ta grille de coût (de sortir une image raster des coputs des cases par exemple) sans pour autant restreindre l'algo et risquer de mixer coût de déplacement et heuristique.
Et si le graph est orienté, alors tu ne peux plus le faire du tout (comme dit, t'es obligé de ne faire des coûts qui "ne dépendant pas de la case de provenance" pour toute la grille). Après, si tu veux mettre les coûts sur les cases, je pense que le mieux est de faire une pré-passe qui convertir ce coût de la case vers les edges. Ca te permet de monter facilement ta grille de coût (de sortir une image raster des coputs des cases par exemple) sans pour autant restreindre l'algo et risquer de mixer coût de déplacement et heuristique.