void campusSeguro::ingresarHippie(Nombre h,Posicion p) { if( posConvertibleAEstudiante(p,_campus) ) { _estudiantes.Definir(h,p); grilla.Obtener(p).id = 1 ; grilla.Obtener(p).tag = h ; grilla.Obtener(p).placa = 0 ; actualizarVecinos(p); //grilla.Obtener(p).datosAgente = grilla.Obtener(p).datosAgente;// esta demas, pero lo pongo asi es mas claro. } else { if( posCapturable(p,_campus) ) { /// agrego los datos del hippie a la grilla grilla.Obtener(p).id = 2 ; //grilla.Obtener(p).tag = h ; grilla.Obtener(p).placa = 0 ; /// ahora si actualizo los vecinos y despues seteo como libre en la grilla. actualizarVecinos(p); grilla.Obtener(p).id = 4 ; } else { _hippies.Definir(h,p); grilla.Obtener(p).id = 2 ; grilla.Obtener(p).tag = h ; grilla.Obtener(p).placa = 0 ; actualizarVecinos(p); //grilla.Obtener(p).datosAgente = grilla.Obtener(p).datosAgente;// esta demas, pero lo pongo asi es mas claro. } } }
void campusSeguro::ingresarHippie(Nombre h,Posicion p) { if( posConvertibleAEstudiante(p,_campus) ) { _estudiantes.Definir(h,p); grilla.Obtener(p).id = 1 ; grilla.Obtener(p).tag = h ; grilla.Obtener(p).placa = 0 ; //grilla.Obtener(p).datosAgente = grilla.Obtener(p).datosAgente;// esta demas, pero lo pongo asi es mas claro. } else { if( posCapturable(p,_campus) ) { grilla.Obtener(p).id = 4 ; } else { _hippies.Definir(h,p); grilla.Obtener(p).id = 2 ; grilla.Obtener(p).tag = h ; grilla.Obtener(p).placa = 0 ; //grilla.Obtener(p).datosAgente = grilla.Obtener(p).datosAgente;// esta demas, pero lo pongo asi es mas claro. } } actualizarVecinos(p); }
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::moverEstudiante(Nombre e,Direccion dir) { Posicion posActual = _estudiantes.Obtener(e); if( seRetira(posActual,dir) ) { _estudiantes.Borrar(e); grilla.Obtener(posActual ).id = 4; grilla.Obtener(posActual ).tag = "libre"; grilla.Obtener(posActual ).placa = 0; //diccHash<Agente,Datos> d(0);// dicchash vacio. //diccHash<Agente,Datos>::Iterador itNulo = d.CrearIt();// creo un iterador vacio. //grilla.Obtener(posActual).datosAgente = itNulo; } else { Posicion nuevaPos = _campus.ProximaPos(posActual,dir); if(!(posActual==nuevaPos)) { grilla.Obtener( posActual ).id = 4; grilla.Obtener( posActual ).tag = "libre"; grilla.Obtener( posActual ).placa = 0; //diccHash<Agente,Datos> d(0);// dicchash vacio. //diccHash<Agente,Datos>::Iterador itNulo = d.CrearIt();// creo un iterador vacio. //grilla.Obtener(posActual).datosAgente = itNulo; if( posConvertibleAHippie(nuevaPos,_campus) ) { _hippies.Definir(e,nuevaPos); grilla.Obtener( nuevaPos ).id = 2; grilla.Obtener( nuevaPos ).tag = e; grilla.Obtener( nuevaPos ).placa = 0; _estudiantes.Borrar(e); //grilla.Obtener( nuevaPos ).datosAgente = grilla.Obtener( nuevaPos ).datosAgente; } else { _estudiantes.Borrar(e); _estudiantes.Definir(e,nuevaPos); grilla.Obtener( nuevaPos ).id = 1; grilla.Obtener( nuevaPos ).tag = e; grilla.Obtener( nuevaPos ).placa = 0; //grilla.Obtener( nuevaPos ).datosAgente = grilla.Obtener( nuevaPos ).datosAgente; } actualizarEstYHippie(_campus.Vecinos(nuevaPos)); actualizarVecinos(nuevaPos); } } }
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