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, 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