Je l'ai développé avec ce but de pouvoir ajouter des cases de ce type. Il suffis de rajouter les conditions if ou switch (s'il y a pas mal de type de case différentes: eau, herbe, terre, sable, ...) nécessaire dans la fonction "coutCase". Je ferais probablement une implémentation basique de ce type pour une case eau coûtant deux fois plus dans les jours qui viennent pour montrer le principe.
Edit: dans un soucis de simplicité je comptes séparé ces classes en deux distinctes: une class Map gérant uniquement la génération & les coordonnées, et une class Astar gérant uniquement le chemin. Ainsi je pourrais mettre en attribut de la class Astar les listes ouverte, fermé, cout et parent, et ainsi réduire les paramètre à passer à chaque fois en référence qui commences légèrement à me sortir des yeux. Ainsi il seras aussi plus aisé d'amélioré une seule des deux classes séparément (ajouter la gestion des pnj sur la class Map par exemple...)
Edit: dans un soucis de simplicité je comptes séparé ces classes en deux distinctes: une class Map gérant uniquement la génération & les coordonnées, et une class Astar gérant uniquement le chemin. Ainsi je pourrais mettre en attribut de la class Astar les listes ouverte, fermé, cout et parent, et ainsi réduire les paramètre à passer à chaque fois en référence qui commences légèrement à me sortir des yeux. Ainsi il seras aussi plus aisé d'amélioré une seule des deux classes séparément (ajouter la gestion des pnj sur la class Map par exemple...)