def get_closest_sprite(sprite1: Sprite, sprite_list: SpriteList) -> (Sprite, float): """ Given a Sprite and SpriteList, returns the closest sprite, and its distance. """ if len(sprite_list) == 0: return None min_pos = 0 min_distance = get_distance_between_sprites(sprite1, sprite_list[min_pos]) for i in range(1, len(sprite_list)): distance = get_distance_between_sprites(sprite1, sprite_list[i]) if distance < min_distance: min_pos = i min_distance = distance return sprite_list[min_pos], min_distance
def get_closest_sprite(sprite: Sprite, sprite_list: SpriteList) -> (Sprite, float): """ Given a Sprite and SpriteList, returns the closest sprite, and its distance. :param Sprite sprite: Target sprite :param SpriteList sprite_list: List to search for closest sprite. :return: Closest sprite. :rtype: Sprite """ if len(sprite_list) == 0: return None min_pos = 0 min_distance = get_distance_between_sprites(sprite, sprite_list[min_pos]) for i in range(1, len(sprite_list)): distance = get_distance_between_sprites(sprite, sprite_list[i]) if distance < min_distance: min_pos = i min_distance = distance return sprite_list[min_pos], min_distance