void campusSeguro::moverHippie(Nombre h) { Posicion posActual = _hippies.Obtener(h); DiccPalabra<Posicion>::itDiccP itPos = _estudiantes.Claves(); Posicion nuevaPos = proxPosicion(posActual, itPos ); if(!(posActual == nuevaPos)) { grilla.Obtener(posActual).id = 4; grilla.Obtener(posActual).tag = "libre"; grilla.Obtener(posActual).placa = 0; //ingresarHippie(h, nuevaPos); //diccHash<Agente,Datos> d(0);// dicchash vacio. //diccHash<Agente,Datos>::Iterador itNulo = d.CrearIt();// creo un iterador vacio. //grilla.Obtener(posActual).datosAgente = itNulo; _hippies.Borrar(h); _hippies.Definir(h,nuevaPos); grilla.Obtener(nuevaPos).id = 2; grilla.Obtener(nuevaPos).tag = h; grilla.Obtener(nuevaPos).placa = 0; //grilla.Obtener(nuevaPos).datosAgente = grilla.Obtener(nuevaPos).datosAgente; actualizarEstYHippie(_campus.Vecinos(nuevaPos)); actualizarVecinos(nuevaPos); } }// fin funcion
void campusSeguro::moverAgente(Agente a) { Posicion posActual = posAgente(a); //Conj<campus::Posicion>::Iterador itPos = _hippies.Claves(); DiccPalabra<Posicion>::itDiccP itPos = _hippies.Claves(); Posicion nuevaPos = proxPosicion(posActual, itPos ); if( !(posActual == nuevaPos) ) { grilla.Obtener( nuevaPos ).tag = grilla.Obtener( posActual ).tag; grilla.Obtener( nuevaPos ).id = grilla.Obtener( posActual ).id; grilla.Obtener( posActual).id = 4; grilla.Obtener( nuevaPos ).placa = grilla.Obtener( posActual ).placa; grilla.Obtener( nuevaPos ).datosAgente = grilla.Obtener( posActual ).datosAgente; Conj<Posicion> c; c.Agregar(nuevaPos); actualizarDatosAgentes(c); actualizarEstYHippie(_campus.Vecinos(nuevaPos));// en el diseño aca hay un Siguiente(itVecinos) que esta demas. actualizarVecinos(nuevaPos); } }
void campusSeguro::moverHippie(Nombre h) { Posicion posActual = _hippies.Obtener(h); DiccPalabra<Posicion>::itDiccP itPos = _estudiantes.Claves(); Posicion nuevaPos = proxPosicion(posActual, itPos ); if( !(posActual == nuevaPos) ) { grilla.Obtener(posActual).id = 4; grilla.Obtener(posActual).tag = h; grilla.Obtener(posActual).placa = -1; diccHash<Agente,Datos> d(0);// dicchash vacio. diccHash<Agente,Datos>::Iterador itNulo = d.CrearIt();// creo un iterador vacio. grilla.Obtener(posActual).datosAgente = itNulo; if( posConvertibleAEstudiante(nuevaPos,_campus) ) { _estudiantes.Definir(h,nuevaPos); grilla.Obtener(nuevaPos).id = 1; grilla.Obtener(nuevaPos).tag = h; grilla.Obtener(nuevaPos).placa = 0; grilla.Obtener(nuevaPos).datosAgente = grilla.Obtener(nuevaPos).datosAgente; } else { if( posCapturable(nuevaPos,_campus) ) { grilla.Obtener(nuevaPos).id = 4; } else { _hippies.Definir(h,nuevaPos); grilla.Obtener(nuevaPos).id = 2; grilla.Obtener(nuevaPos).tag = h; } } actualizarVecinos(nuevaPos); }// fin 1er If }// fin funcion