예제 #1
0
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;
}
예제 #2
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

	 }
}
예제 #3
0
void Nivel::Cargar(istream& is){
  string nivel;
  getline(is, nivel, 'N');
  getline(is, nivel, ' ');
  string anchoNivel;
  getline(is, anchoNivel, ' ');
  this->_ancho = atoi(anchoNivel.c_str());
  string altoNivel;
  getline(is, altoNivel, ' ');
  this->_alto = atoi(altoNivel.c_str());
  string turnoNivel;
  getline(is, turnoNivel, ' ');
  this->_turno = atoi(turnoNivel.c_str());
  string solesNivel;
  getline(is, solesNivel, ' ');
  this->_soles = atoi(solesNivel.c_str());
  string basura;
  getline(is, basura, ' ');
  string cambioTipo;
  getline(is, cambioTipo, ' ');
  char ultimoCambio=cambioTipo.back();
  while(ultimoCambio != ']') {
    Flor cargaflor;
    Posicion t;
    Vida v;
    cargaflor.Cargar(is);
    getline(is, basura, '(');
    getline(is, basura, ' ');
    string posicionFx;
    getline(is, posicionFx, ' ');
    t.x = atoi(posicionFx.c_str());
    string posicionFy;
    getline(is, posicionFy, ' ');
    t.y = atoi(posicionFy.c_str());
    getline(is, basura, ' ');
    string vidaFi;
    getline(is, vidaFi, ' ');
    v = atoi(vidaFi.c_str());
    getline(is, basura, ' ');
    FlorEnJuego fCargar(cargaflor,t,v);
    this->_flores.push_back(fCargar);
    getline(is, cambioTipo, ' ');
    ultimoCambio = cambioTipo.back();
  }
  getline(is, basura, ' ');
  getline(is, cambioTipo, ' ');
  ultimoCambio = cambioTipo.back();
  while(ultimoCambio != ']') {
    Vampiro cargaVampiro;
    Posicion p;
    Vida v;
    cargaVampiro.Cargar(is);
    getline(is, basura, '(');
    getline(is, basura, ' ');
    string posicionVx;
    getline(is, posicionVx, ' ');
    p.x = std::atoi(posicionVx.c_str());
    string posicionVy;
    getline(is, posicionVy, ' ');
    p.y = std::atoi(posicionVy.c_str());
    getline(is, basura, ' ');
    string vidaVj;
    getline(is, vidaVj, ' ');
    v = atoi(vidaVj.c_str());
    VampiroEnJuego vCargar(cargaVampiro, p, v);
    this->_vampiros.push_back(vCargar);
    getline(is, basura, ' ');
    getline(is, cambioTipo, ' ');
    ultimoCambio = cambioTipo.back();
  }
  getline(is, basura, ' ');
  getline(is, cambioTipo, ' ');
  ultimoCambio = cambioTipo.back();
  while(ultimoCambio != ']'){
    Vampiro cargarVS;
    int cargarFila;
    int cargarTurnoS;
    cargarVS.Cargar(is);
    getline(is, basura, ' ');
    string fila;
    getline(is, fila, ' ');
    cargarFila = atoi(fila.c_str());
    getline(is, basura, ' ');
    string turnoVs;
    getline(is, turnoVs, ' ');
    cargarTurnoS = std::atoi(turnoVs.c_str());
    VampiroEnEspera vSpawC(cargarVS,cargarFila,cargarTurnoS);
    this->_spawning.push_back(vSpawC);
    getline(is, cambioTipo, ' ');
    ultimoCambio = cambioTipo.back();
  }
}