JeuWeb (JeuPHP) - Crée ton jeu par navigateur

Version complète : Des déplacements pas évidents...
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Bonjour,
J'aimerais connaitre vos avis sur la réalisation de la chose suivante.
Dans mon jeu, j'ai une map du monde stocké dans ma BDD avec les champs id_map, type etc... (classique quoi ) Mais la ou ça ce complique, c'est que j'aimerais faire en sorte que les joueurs puissent faire du commerce entre-eux (je précise qu'il s'agit d'un jeu de gestion/stratégie) par l'intermédiaire de navires. Et c'est pour programmer cela que j'ai besoin de votre aide... en effet, il ne s'agira pas d'évaluer la distance à parcourir entre un point A et un point B à vol d'oiseau puisque, de par la forme de la map, les trajectoires pourraient être déviées et rallongées car les navires ne peuvent évidemment pas aller sur la terre (vous voyez ce que je veux dire ? 6 ).
J'ai du mal à trouver une solution pour réaliser ça, donc j'aimerais savoir comment vous vous y prendriez.
En faite, tu cherches à connaitre le plus cours chemin pour aller de A à B sur ta carte.

Y'a un script qui se balade sur ce forum. C'est d'ailleurs celui là qui a retenu mon attention car je n'avais pas trouvé de code de l'algo A* gratuit en php ailleurs que Ici.

Bon courage à toi 34

kéké qui pour finir ne l'a pas encore implémenté dans son jeu, mais qui a vérifié que cela marchait parfaitement ...
Je te propose l'explication de deux algorithme permettant de faire ce que tu veux :
  • Algorithme A*, permettant de trouver un chemin (généralement le plus rapide, mais pas dans tous les cas) entre deux destinations ;
  • Algorithme de Dijkstra, permettant de trouver le chemin le plus court entre deux destinations ;


Sephi-Chan
Intéressant tout ça, mais bien compliqué...
Je pense que je vais opter pour l'algorithme A*, qui m'a parut plus convainquant que celui de Dijkstra.
Merci beaucoup pour ces pistes ! Je devrais pouvoir m'en tirer avec ça. 2
En fait c'est l'inverse, Dijkstra est plus performant, il trouve le chemin. En revanche, A* est plus rapide à l'exécution.

Mais en fait ça paraît compliqué sans vraiment l'être. 16


Sephi-Chan
Surtout que le code est déjà développé sur ce forum :
http://wiki.jeuphp.net/tutoprog/pathfinding

kéké
URLs de référence