C'est ce que je comptais faire au début mais me je suis dis que ça ne serais pas beaucoup moins gérable de n'en faire qu'une seule... je vais diviser tout ça.
Et je vais faire un rendu des cartes SVG pour m'amuser et m'entraîner.
Edit: niahoo > Personnellement je n'utiliserais qu'une seule de ces classes pour mes jeux (je suis pro-hexagonale), mais coder les autres me permettes de m'entraîner et surtout mieux comprendre l'algorithme. Je me compliques toujours les tâches pour qu'ensuite les autres me paraissent vraiment facile.
Edit²: Yess!! je crois avoir trouver le gros du problème. En fait je me bases toujours sur la case ayant le plus petit F parmi les cases adjacentes, et non parmi toute la liste ouverte!
Edit^3: Les trois classes pour les tuiles carrés sont opérationnels =) dispo ici:
Mode classique: Aperçu - Fichier.class.php
Mode dames: Aperçu - Fichier.class.php
Mode omnidirectionnel: Aperçu - Fichier.class.php
J'ai limité les mouvements en diagonales dans le mode omnidirectionnel, il est par exemple impossible d'effectuer ce mouvement: 0,0 > 1,1 si la case 0,1 est infranchissable car cela aurait pour effet de "survoler" cette case infranchissable, ce que je ne trouves pas réaliste. Libre à vous de modifier ensuite.
Je posterais les classes demain dans la partie ressources.
Et je vais faire un rendu des cartes SVG pour m'amuser et m'entraîner.
Edit: niahoo > Personnellement je n'utiliserais qu'une seule de ces classes pour mes jeux (je suis pro-hexagonale), mais coder les autres me permettes de m'entraîner et surtout mieux comprendre l'algorithme. Je me compliques toujours les tâches pour qu'ensuite les autres me paraissent vraiment facile.
Edit²: Yess!! je crois avoir trouver le gros du problème. En fait je me bases toujours sur la case ayant le plus petit F parmi les cases adjacentes, et non parmi toute la liste ouverte!
Edit^3: Les trois classes pour les tuiles carrés sont opérationnels =) dispo ici:
Mode classique: Aperçu - Fichier.class.php
Mode dames: Aperçu - Fichier.class.php
Mode omnidirectionnel: Aperçu - Fichier.class.php
J'ai limité les mouvements en diagonales dans le mode omnidirectionnel, il est par exemple impossible d'effectuer ce mouvement: 0,0 > 1,1 si la case 0,1 est infranchissable car cela aurait pour effet de "survoler" cette case infranchissable, ce que je ne trouves pas réaliste. Libre à vous de modifier ensuite.
Je posterais les classes demain dans la partie ressources.