def _blob_walk(board, point, blob_stone, walked_points): walked_points.add(point) for neighbor_point in Point.neighbor_points(point): if neighbor_point not in walked_points and Board.occupies( board, blob_stone, neighbor_point): RealBoard._blob_walk(board, neighbor_point, blob_stone, walked_points)
def get_blob_liberties(board, blob): blob_liberties = set() for point in blob: neighbor_points = Point.neighbor_points(point) for neighbor_point in neighbor_points: if not Board.occupied(board, neighbor_point): blob_liberties.add(neighbor_point) return blob_liberties