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
Beispiel #2
0
def graficar(pasos, tipo_caminante, count):
    caminante = tipo_caminante(nombre='Toto')
    origen = Coordenada(0, 0)
    campo = Campo()
    campo.agregar_caminante(caminante, origen)

    plt.subplot(2, 2, count)
    plt.title(f'{pasos} pasos')
    plt.grid(True)

    p2 = campo.obtener_coordenada(caminante).posicion()

    for _ in range(pasos):
        p1 = campo.obtener_coordenada(caminante).posicion()
        campo.mover_caminante(caminante)
        p2 = campo.obtener_coordenada(caminante).posicion()
        # print(f'{pasos} pasos. Punto {_}. {p1} {p2}')
        plt.plot([p1[0], p2[0]], [p1[1], p2[1]], linewidth=2.0)

    plt.scatter([0], [0], c="g", linewidth=5.0)
    plt.scatter(p2[0], p2[1], c="r", linewidth=5.0)
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