CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

algorithme A*

unitedelite29
unitedelite29
Niveau 10
06 mars 2012 à 13:10:40

bonjours,

je bosse a l’amélioration de l'ia de mon projet et j'ai choisi de prendre l'algorithme A* qui est je pense le mieux au sujet du pathFinding, malheureusement j'ai un problème :

la première étape est de trouver la case avec la valeur F la moins élevé (si j'ai bien compris F = (distance restante de la case + le cout de la case)) mais vus que la case de départ n'a pas de coût donc F au départ est forcement inférieurs a la case a tester ( pour mon cas F du départ = 6 et F de la case la plus proche est de 36) et c'est ici que je bloque, toutes aides me serai la bienvenus ><

merci d'avance!

fil_razorback
fil_razorback
Niveau 10
06 mars 2012 à 13:34:03

Je pense que ça pourrait t'aider : http://www.policyalmanac.ac.org/games/aStarTutorial.htm

unitedelite29
unitedelite29
Niveau 10
06 mars 2012 à 13:51:26

Si j'ai biens lu il ne faut pas que je compare F de prochaine case avec F de la case actuel ?

(j'apprenais avec celui ci -> http://web.archive.org/web/20080517060754/http://www.siteduzero.com/tuto-3-13217-1-le-pathfinding-avec-a.html#ss_part_1 d'ailleurs les 2sites ont les même images mais pas le même tuto, je vais continuer avec celui que tu m'a passé)

unitedelite29
unitedelite29
Niveau 10
06 mars 2012 à 14:21:23

j'ai tout relus a partir de ce site -> http://blog.lalex.com/post/2003/09/15/Traduction-%3A-article-sur-le-pathfinding-A

(traduction du site que tu m'a passer) mais je ne vois pas comment l'adapter :

-Comment ajouter une case a une liste en c++ ? (j'ai aussi un tableau 2D qui contiens les cases ( j'ai créer un nouveau projet pour apprendre le pathfinding), dois-je ajouter un pointeur de ses cases dans un tableau/vector ? dans ce cas comment faire pour récupérer leurs valeurs pour les comparer ?

tbop2
tbop2
Niveau 10
06 mars 2012 à 14:47:32

Fil encore une fois je te connais tellement maintenant que je savais que tu serais le premier a repondre !

unitedelite29
unitedelite29
Niveau 10
07 mars 2012 à 14:17:16

j'ai reussi a programmer cette algorithme sur un autre programme pour essayer de le programmer et quand j'essaye de l’implémenter j'ai un crash sans raison

http://img11.hostingpics.net/pics/289452pb1.png
http://img11.hostingpics.net/pics/971486pb2.png

et quand je lance un debug la seul chose qu'il me repond :

Citation:

Debugger name and version: GNU gdb 6.8
Child process PID: 5504
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
Program received signal SIGSEGV, Segmentation fault.
In ?? () ()

je ne comprend pas pourquoi il ne fonctionne plus quand la distance est grande sachant que le zombie n'a pas de cible a plus de 20cases devant lui ><

unitedelite29
unitedelite29
Niveau 10
07 mars 2012 à 14:34:44

j'ai oublié de poster le code :

http://pastebin.com/satjyTAy

merci d'avance pour l'aide ^^

LGV
LGV
Niveau 28
07 mars 2012 à 14:51:51

"(no debugging symbols found)"

tu compiles sans les infos de debug ; fais une compilation avec tous les symboles, et ensuite tu pourras inspecter le code au runtime, tracer l'execution et naviguer dans les call stacks.

unitedelite29
unitedelite29
Niveau 10
07 mars 2012 à 15:16:45

je viens de le faire, d'apres le Debug le probleme serais a la ligne 197 :

"Program received signal SIGSEGV, Segmentation fault.
At test_jeu\PathFinding.cpp:197"

mais je vois pas d'erreur, la ligne 197 c'est sa :

"tabG[x][y] = 10; // G=10"

contenus dans :

" if(diagonal) // si la case est en diagonal
{
tabG[x][y] = 14; // g = 14
}
else // sinon
{
tabG[x][y] = 10; // G=10
}
"

(diagonal est false)

LGV
LGV
Niveau 28
07 mars 2012 à 15:19:43

je dirais que tes coordonnees x/y sont foireuses, et tu tentes d'acceder en memoire en dehors de ton tableau

unitedelite29
unitedelite29
Niveau 10
07 mars 2012 à 15:28:43

ah effectivement, j'ai mes coordonner qui n’ont pas était diviser par 10 ce qui fait que j'essayer de modifier les case 280,120 pour un tableau de taille 80,60

LGV
LGV
Niveau 28
07 mars 2012 à 16:17:59

utilise le debugger pour inspecter les valeurs de tes donnees ; c'est sans doute l'outils le plus puissant du programmeur. :ok:

godrik
godrik
Niveau 30
07 mars 2012 à 17:33:05

ton probleme de base est mal defini, si tu le definissais proprement, on pourrait certainement t'aider plus facilement.

unitedelite29
unitedelite29
Niveau 10
07 mars 2012 à 18:05:35

en faite j'avais du mal a comprendre comment appliquer l'algorithme, je savais comment il fonctionnais mais pas comment l'appliquer en C++, j'ai réussi a l'appliquer faut juste que je l’améliore un peu ^^

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware