Bonjour,
j'essaie de créer un système de PathFinding mais je patauge

J'ai commencé à regarder un peux les algorithmes (surtout A*) et j'ai réussi à écrire un bout de code mais j'ai une boucle infini et je ne sais pas d'où viens le problème
voici le code :
//PathFinding.h
#include <iostream>
#include <irrlicht.h>
class PathFinding
{
public:
PathFinding(irr::scene::ISceneManager* smgr);
void FindPath(irr::scene::ISceneNode* StartPoint, irr::scene::ISceneNode* EndPoint);
private:
irr::scene::ISceneManager* m_smgr;
irr::scene::ISceneNode* m_StartPoint;
irr::scene::ISceneNode* m_EndPoint;
irr::scene::ISceneNode* m_PointBuffer;
irr::core::list<irr::scene::ISceneNode*> RootChild;
irr::core::list<irr::scene::ISceneNode*>::ConstIterator debut;
irr::core::list<irr::scene::ISceneNode*>::ConstIterator fin;
irr::core::line3df Distance;
int OldDistance;
const irr::c8* BestNode;
};
//PathFinding.cpp
#include "PathFinding.h"
using namespace std;
PathFinding::PathFinding(irr::scene::ISceneManager* smgr)
{
m_smgr = smgr;
};
void PathFinding::FindPath(irr::scene::ISceneNode* StartPoint, irr::scene::ISceneNode* EndPoint)
{
m_StartPoint = StartPoint;
m_EndPoint = EndPoint;
RootChild = m_smgr->getRootSceneNode()->getChildren();
debut = m_smgr->getRootSceneNode()->getChildren().begin();
fin = m_smgr->getRootSceneNode()->getChildren().end();
BestNode = m_StartPoint->getName();
while(debut != fin || m_EndPoint->getName() != BestNode)
{
Distance.start = m_StartPoint->getPosition();
Distance.end = (*debut)->getPosition();
if(OldDistance > Distance.getLength() && (*debut)->getID() != 3)
{
OldDistance = Distance.getLength();
BestNode = (*debut)->getName();
};
if(debut != fin)
{ debut++; }
if(debut == fin && m_EndPoint->getName() != BestNode)
{
debut = m_smgr->getRootSceneNode()->getChildren().begin();
fin = m_smgr->getRootSceneNode()->getChildren().end();
while((*debut)->getName() != BestNode)
{
debut++;
};
m_StartPoint = (*debut);
debut = m_smgr->getRootSceneNode()->getChildren().begin();
fin = m_smgr->getRootSceneNode()->getChildren().end();
};
};
};
Pour info j'ai attribué un Id de 3 à la camera pour pas qu'elle soit comptée
Si vous aviez des conseilles sa m'arrangerais
Merci d'avance