def get_tipo(self):
        tipo = ""
        destinos_unicos = Lista()
        for destino in self.destinos:
            if destino not in destinos_unicos:
                destinos_unicos.add_nodo(Nodo(destino))

        if len(destinos_unicos) == 2:
            tipo = "ALT"

        if len(destinos_unicos) > 2:
            tipo = "RAND"

        self.destinos = destinos_unicos
        return tipo
Esempio n. 2
0
if __name__ == "__main__":

    lista_puertos = Lista()

    ultimo_puerto = None
    iteraciones = 1

    while saber_cuando_parar(iteraciones):
        puerto_actual = Puerto(sis.preguntar_puerto_actual()[0])
        puerto_actual.conexiones_posibles = sis.posibles_conexiones()

        if puerto_actual.id not in lista_puertos:
            if len(lista_puertos) == 0:  # agregar el primer puerto
                nodo_actual = Nodo(puerto_actual)
                lista_puertos.add_nodo(nodo_actual)
            else:
                nodo_actual = Nodo(puerto_actual)
                nodo_anterior = lista_puertos.ultimo
                nodo_anterior.valor.hijos.add_nodo(Nodo(puerto_actual.id))
                nodo_actual.valor.padres.add_nodo(Nodo(nodo_anterior.valor.id))
                lista_puertos.add_nodo(nodo_actual)

        else:
            nodo_actual = lista_puertos.get_nodo(puerto_actual.id)  # obener nodo
            nodo_padre = lista_puertos.get_nodo(ultimo_puerto)
            nodo_actual.valor.padres.add_nodo(nodo_padre)  # agregar el padre
            nodo_padre.valor.hijos.add_nodo(nodo_actual.valor)  # agregar hijo

        id_conexion = puerto_actual.decidir_conexion()
        puerto_actual.conexiones.add_nodo(Nodo(Lista()))