PyExperiments/FindPath/Main_example.py

25 lines
856 B
Python
Raw Normal View History

2021-10-21 13:08:06 +00:00
import Path
import Grid
griglia = Grid.GridWithWeights(30,30)
griglia.set_wall((3,3),(3,20))
griglia.set_wall((10,3),(10,20))
griglia.set_wall((3,3),(10,3))
griglia.set_wall((4,20),(8,20))
griglia.set_wall((5,15),(10,15))
griglia.set_wall((4,10),(8,10))
def disegna(nome, algoritmo):
ricerca = algoritmo(griglia, (2,3), (4,4))
generatore_calcolo = Grid.drawGrid(griglia, mark = [(2,3),(4,4)], draw_function = lambda current : Path.arrow_draw(ricerca, current))
percorso = Path.reconstruct_path(ricerca, (2,3), (4,4))
generatore_percorso = Grid.drawGrid(griglia, mark = percorso)
print("Eseguo algoritmo '%s':" % nome)
for (a,b) in zip(generatore_calcolo, generatore_percorso):
print( a,b )
disegna("Breadth first", Path.breadth_first_search)
disegna("Dijkstra", Path.dijkstra_search)
disegna("A*",Path.a_star_search)