Bonsoir à tous, j'ai un projet en info qui consiste à coder une IA capable de jouer toute seule à Boulder Dash (l'IA doit déplacer un mineur sur une map en ramassant des diamants et quand on a le nombre qu'il faut on rejoint la sortie). Mais on a une grosse contrainte pour ce projet : il faut que l'IA soit codée en prolog
On a donc un code prolog où on a la map représentée par une liste et la largeur de la map, et on possède la position du joueur dans cette liste. Par exemple, si on a une liste de type L=[0,0,0,1,2,0,1,1,0] et que la largeur est 3, la map correspondante sera ceci :
0,0,0
1,2,0
1,1,0
Où 0 est par exemple un mur, 1 un terrain praticable, 2 la position du joueur (dans ce cas la position du joueur dans la liste sera 4).
Et en ce moment, je cherche comment implémenter le pathfinding pour que l'IA aille ramasser les diamants : j'ai pensé à l'algorithme A* mais il est itératif et ça me pose pas mal de problème, je ne vois pas comment faire pour l'implémenter en prolog... J'ai pensé essayer de récursiver l'algorithme A* mais j'ai du mal à voir comment faire...
Est-ce que je suis bien parti en essayant de récursiver A* pour du prolog (si oui, comment m'y prendre ?) ou est-ce que je peux oublier cette idée ?
Merci d'avance pour vos réponses.