Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
        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')
Ejemplo n.º 4
0
        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')