Bonjour,
Je suis actuellement en train de programmer un pacman en caml (ce n'est peut-être pas l'idéal mais c'est dans le cadre de mes études donc je n'ai pas le choix pour le langage à utiliser), j'ai fini le code qui affiche la carte, le pacman et les fantômes : j'utilise des matrices de la taille en pixels des images en question qui contiennent les codes rgb de ces pixels (par exemple si le pixel de la 4ème colonne 2ème ligne du pacman est jaune, alors la matrice du pacman aura sa case (2,4) qui contient le code rgb jaune) ; j'utilise ensuite une autre matrice pour la carte, qui elle contient les codes cases des éléments de cette carte (par exemple si la case (3,4) de ma carte est un mur, alors la case (3,4) de la matrice contient un 3, le code que j'utilise pour symboliser les murs). J'ai presque fini de programmer les déplacements au clavier du pacman, mais j'en viens maintenant à un problème que je ne trouve pas si simple à résoudre : le choix des déplacements des fantômes, ceux-ci, lorsqu'ils sont assez proches du pacman, doivent le suivre non pas en tendant vers ses coordonnées, mais en prenant le chemin le plus court du labyrinthe qui menera à lui. J'ai trouvé des sites parlant d'algorithmes de poursuite minmax, alphabeta, ... sans vraiment comprendre à quoi ils pourraient me servir.
Auriez-vous des idées pour créer un code qui trouve dans la matrice de la carte (qu'on peut pour plus de facilité représenter par des 0 et des 1 : 0 pour une case ou le fantôme peut passer, 1 pour les autres) le chemin le plus court qui mène au pacman ? Ce code ne doit pas être trop long car il sera utilisé à chaque boucle du jeu, le choix de direction des fantômes pouvant changer continuellement ...
merci
Partager