def process(self):
"""
Trouve un des plus courts chemins entre la case de depart et celle d'arrivee
"""
heappush(self.open_list, (self.start.f, self.start))
while len(self.open_list):
f, cell = heappop(self.open_list)
self.closed_list.add(cell)
if cell is self.end:
break
neighbor_cells = self.get_neighbor_cells(cell)
for n_cell in neighbor_cells:
if n_cell.not_obstacle and n_cell not in self.closed_list:
if (n_cell.f, n_cell) in self.open_list:
if n_cell.g > cell.g + 10:
self.update_cell(n_cell, cell)
else:
self.update_cell(n_cell, cell)
heappush(self.open_list, (n_cell.f, n_cell))
return self.display_path()
评论列表
文章目录