Changeset 26
- Timestamp:
- 20.08.2008 16:23:36 (3 years ago)
- Location:
- branches/ticket5/src
- Files:
-
- 2 modified
-
JoueurIA.cpp (modified) (1 diff)
-
JoueurIA.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/ticket5/src/JoueurIA.cpp
r23 r26 333 333 { 334 334 vnoeud liste; 335 336 //si on joue avec toutes les piÚces, elles sont forcément différentes 337 bool testDiff =string_to_int(Config::getInstance()->get("nbr_criteres"))<=4; 338 335 339 // on fait la liste des n° des piÚces libres 336 340 vector<Uint8> liste_pieces_libres; 341 337 342 for(Uint8 i=0; i<16; i++){ 338 if(noeud.getPieceLibre(i)!=P_NO_FORME){ 343 Uint8 pieceCourante= noeud.getPieceLibre(i); 344 if(pieceCourante!=P_NO_FORME){ 345 if(testDiff && !liste_pieces_libres.empty()){ 346 //parcourt de la liste déjà remplie n'ajoute la piÚce que si elle est différente des autres 347 Uint8 size = liste_pieces_libres.size(); 348 bool isDiff=true; 349 for(Uint8 k=0; k<size; k++){ 350 //compare la piÚce k dans la liste déjà contruite et la piÚce i 351 if(noeud.getPieceLibre(liste_pieces_libres[k])==pieceCourante) { isDiff=false; break;} 352 } 353 if(isDiff) liste_pieces_libres.push_back(i);//on ajoute la piÚce à la liste 354 } 355 else 356 //on ajoute la piÚce à la liste 339 357 liste_pieces_libres.push_back(i); 340 358 } 341 359 } 360 361 342 362 Uint8 size = liste_pieces_libres.size(); 363 364 343 365 // ensuite on parcour toutes les places disponibles sur le plateau 344 366 for(Uint8 i=0; i<4; i++){ -
branches/ticket5/src/JoueurIA.h
r24 r26 66 66 void pieceFirstWait(LaDonne donne); 67 67 void pieceWait(LaDonne donne); 68 void cercleWait(LaDonne donne);68 void cercleWait(LaDonne donne); 69 69 70 70 private: 71 71 void meilleurCoup(LaDonne donne); 72 void strategie(NoeudIA noeud);73 vnoeud listeSousNoeuds(NoeudIA noeud);74 void noeudHasard(NoeudIA noeud);75 vnoeud listeFacile(vnoeud liste_IA);76 vnoeud listeMoyen(vnoeud liste_IA);77 vnoeud listeDifficile(vnoeud liste_IA);72 void strategie(NoeudIA noeud); 73 vnoeud listeSousNoeuds(NoeudIA noeud); 74 void noeudHasard(NoeudIA noeud); 75 vnoeud listeFacile(vnoeud liste_IA); 76 vnoeud listeMoyen(vnoeud liste_IA); 77 vnoeud listeDifficile(vnoeud liste_IA); 78 78 // vnoeud listeImpossible(vnoeud liste_IA); 79 void dernierCoup(NoeudIA noeud);79 void dernierCoup(NoeudIA noeud); 80 80 // void testLigne(Uint8 piece_1, Uint8 piece_2, Uint8 piece_3, Uint8 piece_4, bool *duo, bool *trio); 81 81 };
