def get_horario():
    """Metodo principal para obtener el resultado del ejercicio, el horario"""

    # Para obtener informacion de los maleantes, lo primero es atrapar un chivato y obtener su informacion.
    global info
    info = Chivato.localizar_chivatos(lista_total_chivatos, cazarecompensas)

    obtener_informacion_1()
    Logger.log('Informacion obtenida: ' + str(info))


    # Mientras no tengamos informacion, consultamos al siguiente chivato
    while ((ClassUtils.isEmpty(cazarecompensas.list_info) == True) and (ClassUtils.isEmpty(info) == False)):
        obtener_informacion_1()
        Logger.log('Informacion obtenida: ' + str(info))

    # Recorrer los maleantes con la informacion obtenida, mientras exista informacion y haya tiempo
    while (ClassUtils.isEmpty(cazarecompensas.list_info) == False and (getTime() > 0)):

        # Buscamos al Maleante mas cercano, de la lista de informacion
        villano = ClassUtils.getCercanoMaleante(cazarecompensas.list_info, cazarecompensas)
        Logger.log("Villano mas cercano: " + str(villano.nombre))

        # Si no se puede atrapar, salimos de la iteracion y obtenemos el informe final
        seguir = atrapar_maleante(villano)
        if (seguir == False):
            return

        # Si la lista con informacion del Cazarecompensas esta vacia, buscamos a otro chivato.
        if (ClassUtils.isEmpty(cazarecompensas.list_info) and
                (not ClassUtils.isEmpty(lista_total_maleantes))):
            obtener_informacion_1()

    Logger.log("Generar informe final")
    generarInforme()
def init_game():
    """Funcion que genera los datos necesario para realizar el juego. (Todos los datos se generan de forma aleatoria)"""

    global lista_total_maleantes
    global lista_total_chivatos
    global cazarecompensas
    global lista_informe

    # Generamos los listados de Chivatos y Maleantes aleatoriamente.
    lista_total_maleantes = Maleante.randomMaleantes(Constants.NUM_MAX_MALEANTES)
    lista_total_chivatos = Chivato.randomChivatos(Constants.NUM_MAX_CHIVATOS, lista_total_maleantes)


    # ------- Log datos del CAZARECOMPENSAS --------------------------------------------------
    cazarecompensas = Cazarecompensas.init_Cazarecompensas()
    print("______________________________________________________________________________")
    print(" |Nombre:" + str(cazarecompensas.nombre) + "| ingresos:" + str(cazarecompensas.ingresos) +
               "| localizacion:" + str(cazarecompensas.localizacion) + "|")
    # -------------------------------------------------------------------------------------


    # -------- Log datos de los MALEANTES (aleatorios) ---------------------------------------
    Logger.log("- Los maleantes son:" + str(len(lista_total_maleantes)))
    for maleante in lista_total_maleantes:
        print("       |Nombre:" + str(maleante.nombre) + "|  Recompensa:" + str(maleante.recompensa) +
                   "|  Vida:" + str(maleante.vida) + "|  Localizacion:" + str(maleante.localizacion) + "|")
    # -------------------------------------------------------------------------------------


    # --------- Log datos de los CHIVATOS (aleatorios) ----------------------------------------
    print("- Los chivatos son:" + str(len(lista_total_chivatos)))
    for chivato in lista_total_chivatos:
        info_chivato = "       |Nombre:" + chivato.nombre, "| es Maleantes:" + str(chivato.isMaleante) \
                       + "| Localizacion:" + str(chivato.localizacion) + "| situacion maleantes:"
        for maleante in chivato.list_maleantes:
            info_maleante = "   " + maleante.nombre
            info_chivato = str(info_chivato) + str(info_maleante)

        print(str(info_chivato) + "|")
    # ----------------------------------------------------------------------------------------------------
    print("______________________________________________________________________________")
    print("")
    print("El tiempo total que tiene el cazarecompensas es " + str(tiempo))