JeuWeb - Crée ton jeu par navigateur
Des déplacements pas évidents... - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Des déplacements pas évidents... (/showthread.php?tid=2874)



Des déplacements pas évidents... - Arathor - 12-08-2008

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 ? :heuuu: ).
J'ai du mal à trouver une solution pour réaliser ça, donc j'aimerais savoir comment vous vous y prendriez.


RE: Des déplacements pas évidents... - keke - 12-08-2008

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 ^^

kéké qui pour finir ne l'a pas encore implémenté dans son jeu, mais qui a vérifié que cela marchait parfaitement ...


RE: Des déplacements pas évidents... - Sephi-Chan - 12-08-2008

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


RE: Des déplacements pas évidents... - Arathor - 12-08-2008

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. Smile


RE: Des déplacements pas évidents... - Sephi-Chan - 12-08-2008

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. Wink


Sephi-Chan


RE: Des déplacements pas évidents... - keke - 12-08-2008

Surtout que le code est déjà développé sur ce forum :
http://wiki.jeuweb.org/tutoprog/pathfinding

kéké