Ejemplo n.º 1
0
def updateFlyingList():
    '''Update movelist for flying enemies'''
    # only border walls for flying list. Flying list to be index 1.
    Map.flyPath.walls = Map.path.border_walls
    Map.flyPath.weights = {}
    for startpoint in Map.mapvar.startpoint:
        came_from, cost_so_far = Pathfinding.get_path(Map.flyPath, startpoint, Map.mapvar.basepoint)
        Map.mapvar.flymovelists.append(Pathfinding.reconstruct_path(came_from, startpoint, Map.mapvar.basepoint))
Ejemplo n.º 2
0
def updatePath():
    '''Update the path using A* algorithm'''
    # Map.newPath.walls = Map.path.get_wall_list()
    Map.myGrid.walls = Map.path.get_wall_list()
    if len(Map.mapvar.flymovelists) == 0:
         updateFlyingList()

    Map.mapvar.movelists = []
    x=0
    for startpoint in Map.mapvar.startpoint:
        came_from, cost_so_far = Pathfinding.get_path(Map.myGrid, startpoint, Map.mapvar.basepoint)
        if came_from == 'Path Blocked':
            Map.mapvar.blockedSquare = cost_so_far
            return False
        Map.mapvar.movelists.append(Pathfinding.reconstruct_path(came_from, startpoint, Map.mapvar.basepoint))

    Map.mapvar.genmovelists()
    Map.mapvar.updatePath = False
    Map.mapvar.roadGen()
    updateIce()