Salut tout le monde , voila en se moment je travaille sur la création et l’exploration d'un arbre N-Aire mais je m'embrouille un peut la :/ Un peut d'aide serai le bienvenue
Voila les code que j'utilise enfin une partie !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Noeud::Noeud(auto father,int *tabptr , int h , int w) { this->pere=father; //Pointer Le pére for (int i=0 ; i < h ; i++) //Copier le tableau du dammier for (int j=0 ; j < w ; j++) { Casen[j][i]=(int)tabptr[h * j + i]; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Une partie de l'extraction des fils ! case 0: //Tester Coté droit if (Casen[j+1][i+1]==CaseVide ) //deplacement seulement { auto fils =std::make_unique<Noeud>(this,&(Casen[0][0]),8,8); fils->EditCase(i , j , CaseVide); fils->EditCase(i+1,j+1,PionAllie); this->addChildren(fils); } //Ajouter au noeud fils pointéAprès cela je bloque pour ajouter la profondeur et la récursivité une idée une orientation serait la bienvenue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void Noeud::addChildren(std::unique_ptr <Noeud >&child) { this->children.push_back(std::move(child)); //Ajouter le fils au neoud pére } Racine = new Noeud(); // dans le constructeur de l'objet jeux dames Racine->CopierTableau(&(Case[0][0]),8,8); //Aprés initialisation on copie l'etat initial du jeux Racine->extractChildren(); //Extraction des enfant
Merci D'avance
Partager