def move_round_to(self, points, steps):
        """
        Follow a path pre-defined by a set of at least 4 points.  This Path will
        interpolate the points into a curve and follow that curve.

        :param points: The list of points that defines the path.
        :param steps: The number of steps to take to follow the path.
        """
        # Spline interpolation needs a before and after point for the curve.
        # Duplicate the first and last points to handle this.  We also need
        # to move from the current position to the first specified point.
        points.insert(0, (self._rec_x, self._rec_y))
        points.insert(0, (self._rec_x, self._rec_y))
        points.append(points[-1])

        # Convert the points into an interpolated set of more detailed points.
        steps_per_spline = steps // (len(points) - 3)
        for j in range(1, len(points) - 2):
            for t in range(1, steps_per_spline + 1):
                y = _spline(float(t) / steps_per_spline,
                            float(points[j - 1][1]),
                            float(points[j][1]),
                            float(points[j + 1][1]),
                            float(points[j + 2][1]))
                x = int(points[j][0] + ((points[j + 1][0] - points[j][0]) *
                                        float(t) / steps_per_spline))
                self._add_step((x, int(y)))
def move_round_to ( self , points , steps ) : points . insert ( 0 , ( self . _rec_x , self . _rec_y ) ) points . insert ( 0 , ( self . _rec_x , self . _rec_y ) ) points . append ( points [ - 1 ] ) steps_per_spline = steps // ( len ( points ) - 3 ) for j in range ( 1 , len ( points ) - 2 ) : for t in range ( 1 , steps_per_spline + 1 ) : y = _spline ( float ( t ) / steps_per_spline , float ( points [ j - 1 ] [ 1 ] ) , float ( points [ j ] [ 1 ] ) , float ( points [ j + 1 ] [ 1 ] ) , float ( points [ j + 2 ] [ 1 ] ) ) x = int ( points [ j ] [ 0 ] + ( ( points [ j + 1 ] [ 0 ] - points [ j ] [ 0 ] ) * float ( t ) / steps_per_spline ) ) self . _add_step ( ( x , int ( y ) ) )
Follow a path pre-defined by a set of at least 4 points.  This Path will
        interpolate the points into a curve and follow that curve.

        :param points: The list of points that defines the path.
        :param steps: The number of steps to take to follow the path.