コード例 #1
0
def localizar_chivatos(chivatos, cazarecompensas):
    """Devuelve un mapa de la localizacion de los chivatos
    como key   -> el nombre del chivato
    como valor -> la distancia"""

    info_chivato = {}
    for c in chivatos:
        chivato = c
        distancia = ClassUtils.getDistancia(chivato, cazarecompensas.localizacion)
        info_chivato.update({chivato : distancia})
        #print(info_chivato)
    return info_chivato
コード例 #2
0
def atrapar_maleante(maleante):
    """Metodo que situa al Cazarecompensas en la localizacion del chivato"""

    # Obtenemos la distancia al maleante pasado como parametro
    distancia = ClassUtils.getDistancia(maleante, cazarecompensas.localizacion)

    # Si hay, tiempo se le da caza, si no se finaliza la caza y se genera el informe.
    if ((getTime() - distancia) < 0):
        return False
    else:
        setTime(distancia)
        cazarecompensas.localizacion = maleante.localizacion

        # Se captura al maleante, se le quita la vida.
        captura = capturarMaleante(maleante)
        if (captura == False):
            return False

        # Finalmente se genera un nuevo informe con los datos de la caza
        nuevo_informe(getTime(), maleante.nombre, maleante.localizacion, maleante.recompensa)
        cazarecompensas.list_info.remove(maleante)
        lista_total_maleantes.remove(maleante)

        return True
コード例 #3
0
def atrapar_chivato(chivato):
    """Metodo que situa al Cazarecompensas en la localizacion del chivato y obtiene su informacion."""

    # Calcula la distancia entre el Cararecompensas y el chivato
    distancia = ClassUtils.getDistancia(chivato, cazarecompensas.localizacion)
    Logger.log("Distancia al chivato mas cercano es: " + str(distancia))

    # Si aun hay tiempo, le da caza para obtener su informacion(solo en caso de que no sea a su vez Maleante)
    if ((getTime() - distancia) < 0):
        info = {}
        return False
    else:
        setTime(distancia)
        lista_total_chivatos.remove(chivato)
        cazarecompensas.localizacion = chivato.localizacion
        Logger.log("La nueva localizacion del Cazarecompensas es: " + str(cazarecompensas.localizacion))

        # Se genera un nuevo informe registrando la informacion de la caza
        nuevo_informe(getTime(), chivato.nombre, chivato.localizacion, 0)
        if (chivato.isMaleante == False):
            setList(chivato.list_maleantes, cazarecompensas.list_info)
            return True

        return False