def __init__(localMem=False, mapgraph, start, goal): # TODO: Implement local memory storage # TODO: Get all available map data, and create unified map for all levels / buildings raw_map = fetch_raw_map('COM1', '2') self.graph = process_raw_map(raw_map) self.start = start self.goal = goal
u_node = graph[u] if u == target: break for v in u_node['linkTo']: if queue.is_node_in_queue(v): alt = dist[u] + \ calc_distance(int(u_node['x']), int(u_node['y']), int(graph[v]['x']), int(graph[v]['y'])) if alt < dist[v]: dist[v] = alt prev[v] = u queue.insert(v, alt) path = [] curr = target while curr in prev: path.append(curr) curr = prev[curr] path.append(source) return path[::-1] if __name__ == '__main__': from fetch_map import fetch_raw_map raw_map = fetch_raw_map('COM1', '2') graph = process_raw_map(raw_map) print run_dijkstra(graph, '1', '10') print run_dijkstra(graph, '20', '1')