Pathfinding
Contents
arcade.AStarBarrierList
- class arcade.AStarBarrierList(moving_sprite: arcade.sprite.Sprite, blocking_sprites: arcade.sprite_list.sprite_list.SpriteList, grid_size: int, left: int, right: int, bottom: int, top: int)[source]
Class that manages a list of barriers that can be encountered during A* path finding.
arcade.astar_calculate_path
- arcade.astar_calculate_path(start_point: Union[Tuple[float, float], List[float]], end_point: Union[Tuple[float, float], List[float]], astar_barrier_list: arcade.paths.AStarBarrierList, diagonal_movement=True)[source]
- Parameters
start_point (Point) –
end_point (Point) –
astar_barrier_list (AStarBarrierList) –
diagonal_movement (bool) –
Returns: List
arcade.has_line_of_sight
- arcade.has_line_of_sight(point_1: Union[Tuple[float, float], List[float]], point_2: Union[Tuple[float, float], List[float]], walls: arcade.sprite_list.sprite_list.SpriteList, max_distance: int = - 1) bool [source]
Determine if we have line of sight between two points. Having a line of sight means, that you can connect both points with straight line without intersecting any obstacle. Thanks to the shapely efficiency and speedups boost, this function is very fast. It can easily test 10 000 lines_of_sight.
- Parameters
point_1 – tuple – coordinates of first position (x, y)
point_2 – tuple – coordinates of second position (x, y)
walls – list – Obstacle objects to check against
max_distance – int –
- Returns
tuple – (bool, list)