Hello,
voici mon problème:
j'ai les maps suivantes:
Code :
- typedef vector<int> ListeFrames;
- typedef map<AnsiString, ListeFrames> ActionsUneStat;
- typedef map<AnsiString, ActionsUneStat> ToutesActions;
- typedef ToutesActions::iterator ite;
-
- ToutesActions TA;
|
Qui correspond à l'exemple suivant:
Citation :
Joueur1 -> Stat -> Frame
-> Frame
-> Frame
-> Frame
-> ...
-> Stat
-> ...
Joueur2 -> Stat -> Frame
...
...
|
Je remplis tout ça grâce à des boucles récursives qui récupèrent les infos dans un fichier XML (Je donne le code quand même)
Code :
- XML->Clear();
- XML->Push(0);
- //On scanne\\
- //Les équipes
- for (int i=0; i < 2; i++)
- {
- XML->Modify(i);
- XML->Push("Staff" );
- int NbreJoueurs = XML->GetCount();
- XML->Push(0);
- //Les joueurs
- for (int j=0; j < NbreJoueurs; j++)
- {
- XML->Modify(j);
- AnsiString NomJoueur = XML->GetAttr("Nom" );
- ActionsUneStat AUS;
- XML->Push(0);
- //Les groupes de stats
- for (int k=0; k < NbreStats; k++)
- {
- XML->Modify(k);
- AnsiString NomStat = XML->GetName();
- int NbreStatsIndiv = XML->GetCount();
- //On réserve tout de suite le nombre d'actions
- ListeFrames LF(NbreStatsIndiv,0);
- if (NbreStatsIndiv > 0)
- XML->Push(0);
- //Les stats individuellement
- for (int l=0; l < NbreStatsIndiv; l++)
- {
- XML->Modify(l);
- int TpsAction = StrToInt(XML->GetValue());
- //On ajoute les actions
- LF[l] = TpsAction;
- }
- //On ajoute une entrée Stat
- AUS.insert(ActionsUneStat::value_type(NomStat,LF));
- if (NbreStatsIndiv > 0)
- XML->Delete();
- }
- //On ajoute une entrée joueur
- TA.insert(ToutesActions::value_type(NomJoueur,AUS));
- XML->Delete();
- }
- XML->Delete(2);
- }
|
Maintenant je voudrais récupérer les données grâce à des critères de recherche sur le ou les joueurs et sur la ou les stats...
Il y a la fonction find() qui renvoie un iterateur, mais je n'arrive qu'à chercher un joueur, et pas parmi ses stats...
Je fais comment pour avoir la liste des Frames pour une stat voulue pour un joueur voulu?
Merci d'avance
---------------
Another .Net Blog