void Juego::Cargar(istream& is) { string juego; getline(is, juego, 'J'); string basura; string cambioTipo; getline(is, cambioTipo, ' '); char ultimoCambio=cambioTipo.back(); while (ultimoCambio != ']') { Flor cargaF; cargaF.Cargar(is); this->_flores.push_back(cargaF); getline(is, basura, ' '); getline(is, cambioTipo, ' '); ultimoCambio = cambioTipo.back(); } getline(is, basura, ' '); getline(is, cambioTipo, ' '); ultimoCambio = cambioTipo.back(); while (ultimoCambio != ']') { Vampiro cargaF; cargaF.Cargar(is); this->_vampiros.push_back(cargaF); getline(is, basura, ' '); getline(is, cambioTipo, ' '); ultimoCambio = cambioTipo.back(); } getline(is, basura, ' '); getline(is, cambioTipo, ' '); ultimoCambio = cambioTipo.back(); while (ultimoCambio != ']') { Nivel cargaN; cargaN.Cargar(is); this->_niveles.push_back(cargaN); getline(is, basura, ' '); getline(is, cambioTipo, ' '); ultimoCambio = cambioTipo.back(); } this->_nivelActual = 0; }
void Juego::Cargar(std::istream& is) { using namespace std; is.ignore(2); string tipo = ""; getline(is, tipo, ' '); if(tipo == "J") { // FLORES is.ignore(2); vector<Flor> floresJuego; string noCargoFlores = ""; string noHayMasFlores = ""; noCargoFlores = is.peek(); if (noCargoFlores == "]") { noHayMasFlores== "]"; _flores = floresJuego; } else { while(noHayMasFlores != "]") { Flor f; f.Cargar(is); floresJuego.push_back(f); is.ignore(2); noHayMasFlores = is.peek(); } _flores = floresJuego; } // FLORES - END is.ignore(4); // VAMPIROS vector<Vampiro> vampirosJuego; string noCargoVampiros = ""; string noHayMasVampiros = ""; noCargoVampiros = is.peek(); if (noCargoVampiros == "]") { noHayMasVampiros== "]"; _vampiros = vampirosJuego; } else { while(noHayMasVampiros != "]") { Vampiro v; v.Cargar(is); vampirosJuego.push_back(v); is.ignore(2); noHayMasVampiros = is.peek(); } _vampiros = vampirosJuego; } // VAMPIROS - END is.ignore(4); // NIVELES vector<Nivel> nivelesJuego; string noCargoNiveles = ""; string noHayMasNiveles = ""; noCargoNiveles = is.peek(); if (noCargoNiveles == "]") { noHayMasNiveles == "]"; _niveles = nivelesJuego; } else { while(noHayMasNiveles != "]") { Nivel n; n.Cargar(is); nivelesJuego.push_back(n); is.ignore(4); noHayMasNiveles = is.peek(); } _niveles = nivelesJuego; } // NIVELES - END } }