#include "Methodes.h" std::string niveauSuivant(std::string index, std::string niveauPrecedant) { std::ifstream flux(index.c_str()); std::string _niveauSuivant; if(flux) { if(niveauPrecedant == "") { if(getline(flux, _niveauSuivant)) return _niveauSuivant.erase(0, 5); else return ""; } bool trouver = false; while(getline(flux, _niveauSuivant)) { if(trouver) return _niveauSuivant; if(_niveauSuivant == niveauPrecedant) trouver = true; } if(trouver) save("Niveaux/0index.txt", niveauPrecedant); } return ""; } bool chargerNiveau(char terrain[24*18], std::string chemin) { std::ifstream flux(chemin.c_str()); if(flux) { for(int y = 0;y<18;y++) { std::string ligne = ""; if(!getline(flux, ligne)) std::cout << "ligne " << y+1 << ": rat�" << std::endl; for(unsigned int x = 0;x<24;x++) { if(x<ligne.size()) terrain[x+y*24] = ligne[x]; else terrain[x+y*24] = '#'; } } return true; } return false; } void save(std::string index, std::string niveauActuel) { std::ifstream iflux(index.c_str()); if(!iflux) return; std::string tmp, firstline, ligne; //enlever ligne save: getline(iflux, ligne); //recuperer premiere ligne tout en la mettant dans tmp getline(iflux, firstline); tmp+=firstline+"\n"; while(getline(iflux, ligne))tmp+=ligne+"\n"; if(niveauActuel == ligne) niveauActuel = firstline; iflux.close(); std::ofstream oflux(index.c_str()); if(!oflux) return; oflux << "save:"+niveauActuel+"\n" << tmp; }