def ejecutar_caminata(pasos_a_recorrer, tipo_de_borracho):
    """Ejecuta la caminata para x pasos_a_recorrer """
    borracho = tipo_de_borracho(nombre='David')
    origen = Coordenada(0, 0)
    campo = Campo()
    campo.anadir_borracho(borracho, origen)
    coordenadas_x = [0]
    coordenadas_y = [0]

    for _ in range(pasos_a_recorrer):
        campo.mover_borracho(borracho)  #devuelve tupla(x,y)
        nueva_coordenada_x = campo.obtener_coordenada(borracho).x
        nueva_coordenada_y = campo.obtener_coordenada(borracho).y
        coordenadas_x.append(nueva_coordenada_x)
        coordenadas_y.append(nueva_coordenada_y)
    return coordenadas_x, coordenadas_y
def obtener_camino_recorrido(pasos):
    """
    Crea y obtiene el camino recorrido por un borracho.
    """
    borracho = BorrachoTradicional(nombre='Rafnix')
    origen = Coordenada(0, 0)

    campo = Campo()
    campo.anadir_borracho(borracho, origen)

    camino_recorrido = [campo.obtener_coordenada(borracho)]

    for _ in range(pasos):
        campo.mover_borracho(borracho)
        camino_recorrido.append(campo.obtener_coordenada(borracho))

    return camino_recorrido
def graficar_pasos_borracho(tipo_de_borracho):
    borracho2 = tipo_de_borracho(nombre='Xavi')
    campo2 = Campo()
    origen = Coordenada(0, 0)
    campo2.anadir_borracho(borracho2, origen)
    lista_x = []
    lista_y = []
    pasos_del_borracho = 10000

    for _ in range(pasos_del_borracho):
        x, y = campo2.mover_borracho(borracho2, True)
        lista_x.append(x)
        lista_y.append(y)

    output_file('Ejemplo_Caminata_Borracho.html')
    grafica2 = figure(title='Ejemplo Caminata del Borracho')
    grafica2.line(lista_x, lista_y, legend_label='Camino del borracho')

    show(grafica2)