Pathfinding ? - 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 : Pathfinding ? (/showthread.php?tid=1745) Pages :
1
2
|
RE: Pathfinding ? - Byleth - 12-09-2007 Je ne pense pas car tu dois avoir un cheminement pour compter le nombre de case ^^ RE: Pathfinding ? - Studio Gamboo - 12-09-2007 Oui c'est ce que je me suis dit aussi J'ai testé ce script : http://pingouin.migrateur.free.fr/astar/astar.php.html mais il me donne beaucoup de mauvais résultat sur ma map, et est pas forcément trés clair dans sa construction donc bon RE: Pathfinding ? - keke - 15-01-2008 Coucou studio Gamboo ^^. J'ai repris le lien que tu as signalé, et j'ai fais des modifications en vrac pour afficher une carte plus petite mais avec plus de dénivelé. L'algo se comporte parfaitement ! Donc merci pour cette perle rare. Il m'a fallut 1 heure pour arriver à adapter l'algo à mon contexte, et il me faudra 6h pour l'incorporer dans mon code. Je voulais savoir si c'était toi l'auteur du code ? AUTEUR(S) : Alexandre AUPETIT VERSION : 1.0 DATE : 22/10/2006 LICENCE : logiciel libre LGPL Ce code source peut être utilisé dans une application GPL ou non, les modifications effectuées à cette source doivent être rendue publiques aux utilisateurs de l'application l'utilisant. Ou et comment dois-je rendre publique le code modifié ? Kéké. RE: Pathfinding ? - naholyr - 15-01-2008 Quite à déterrer le topic, tu trouveras une implémentation d'A* dans le sujet Déplacement de plusieurs cases. RE: Pathfinding ? - exopi - 17-01-2008 J'ai fait le meme genre de script, voila le code source de la fonction : Code : inclure('is_passable'); La fonction is_passable renvoi true si la case n'est pas un obstacle, false dans le cas contraire (xd,yd) corespond à la case centrale ( nombre de case pour y acceder : 0 ) nb correspond au nombre de déplacement élémentaires à effectuer ( 5 fait faire 5 ittérations de l'algorythme ) (xmax,ymax), ben la taille max de la carte... rayon : la taille max autour de (xd,yd) à calculer[/code] en ce qui concerne de la complexité, elle est en O(n.nb), avec n = (rayon*2+1)², ce qui fait une trés bonen complexité, car généralement, elle est de O(nb) car pour remplir n au pire il faut nb=n/2, ce qui n'arrive jamais. Deplus en choisist le facteur nb, on controle directement la complexité |