1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| vois load(jeu& toload)
{
/* ouvrons le fichier en lecture */
std::ifstream ifs("save.dat");
/* il nous trois pointeurs temporaires (un pour chacune des listes) */
Liste *tempbombe = jeu.liste_bombe;
liste *tempsuspecte = jeu.liste_suspecte;
Liste *temdecouverte = jeu.liste_decouverte;
/* et une chaine de caractères pour la lecture */
std::string str;
/* tant qu'il y a moyen de lire une ligne du fichier */
while(std::getline(ifs, str))
{
/* nous plaçons la ligne lue dans un flux de conversion */
std::stringstram ss;
ss<<str;
/* nous lisons le premier mot pour savoir à quoi nous avons affaire */
std::string temp;
ss>>temp;
/* et nous récupérons les coordonnées */
Liste * toadd=new Liste;
ss>>liste->valeur
/* puis, nous rajoutons l'élément à la chaine qui va bien
* selon le premier mot
*/
if(temp=="bombe")
{
tempbombe->suivant=toadd;
tempbombe=toadd;
}
else if(temp=="suspecte")
{
tempsuspecte->suivant=toadd;
tempsuspecte=toadd;
}
else if(tem=="decouverte")
{
tempdecouverte->suivant=toadd;
tempdecouverte=toadd;
}
}
} |
Partager