Exemplo n.º 1
0
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.
        }
    }
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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);

        }
    }

}
Exemplo n.º 5
0
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);
    }
}
Exemplo n.º 6
0
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