Bonjour,
Je réalise actuellement le projet Pacman et il ne me manque qu'une chose : un algorithme de recherche de Pacman performant ! J'ai déjà l'idée mais je n'arrive pas à la mettre en oeuvre.
Mon idée : créer une liste.
On part de la case du fantôme. On l'ajoute à la liste. On analyse les 4 cases autour. Si ce ne sont pas des murs, on les ajoute à la liste (en effectuant un double marquage pour ensuite retracer le chemin à parcourir par le fantôme). Il faudrait ensuite réaccéder aux 4 (ou moins ...) cases ajoutées et analyser les 4 cases autour etc...
Mais je n'arrive pas à le mettre en oeuvre....
Je me ramène toujours à des boucles infinies ou à des codes interminables .....
Voici une partie de mon code pour exemple :
if (AncienneCase[0]+1<31) { // on regarde la case en X+1, Y
maCase[0]=AncienneCase[0]+1;
maCase[1]=AncienneCase[1];
if (comparaisonCaseMur(maCase[0],maCase[1])==false) {
CaseTest[0]=maCase[0];
CaseTest[1]=maCase[1];
CaseTest[2]=AncienneCase[0]; // enregistrement de l'ancienne Position
CaseTest[3]=AncienneCase[1]; // idem
maListe.add(maListe.size(), CaseTest);
}
}
Idem en X-1, Y+1, Y-1. Puis comment modifier AncienneCase sachant qu'on a entre 1 et 4 nouvelles cases ajoutées....
Merci d'avance de votre aide,
Bonne soirée
-----