pygame draw line(surfacecolorstart_pointend_pointwidththis function draws line between the start_point and end_point parameters pygame draw lines(surfacecolorclosedpointlistwidththis function draws series of lines from one point to the nextmuch like pygame draw polygon(the only difference is that if you pass false for the closed parameterthere will not be line from the last point in the pointlist parameter to the first point if you pass truethen it will draw line from the last point to the first pygame draw circle(surfacecolorcenter_pointradiuswidththis function draws circle the center of the circle is at the center_point parameter the integer passed for the radius parameter sets the size of the circle the radius of circle is the distance from the center to the edge (the radius of circle is always half of the diameter passing for the radius parameter will draw circle that has radius of pixels pygame draw ellipse(surfacecolorbounding_rectanglewidththis function draws an ellipse (which is like squashed or stretched circlethis function has all the usual parametersbut in order to tell the function how large and where to draw the ellipseyou must specify the bounding rectangle of the ellipse bounding rectangle is the smallest rectangle that can be drawn around shape here' an example of an ellipse and its bounding rectanglethe bounding_rectangle parameter can be pygame rect object or tuple of four integers note that you do not specify the center point for the ellipse like you do for the pygame draw circle(function pygame draw rect(surfacecolorrectangle_tuplewidththis function draws rectangle the rectangle_tuple is either tuple of four integers (for the xy coordinates of the top left cornerand the width and heightor pygame rect object can be passed instead if the rectangle_tuple has the same size for the width and heighta square will be drawn pygame pixelarray objects unfortunatelythere isn' single function you can call that will set single pixel to color (unless you call pygame draw line(with the same start and end pointthe pygame framework needs to run some code behind the scenes before and after drawing to surface object if it had to do this for every single pixel you wanted to setyour program would run much slower (by my quick testingdrawing pixels this way is two or three times slower insteadyou should create pygame pixelarray object (we'll call them pixelarray objects for shortof surface object and then set individual pixels creating pixelarray object of surface object will --lock|the surface object while surface object is lockedthe drawing