height are equal to the width and height of the textrect plus (because the left and top were moved back pixelsso you need to make up for that spacethe pygame pixelarray data type get pixel array of the surface pixarray pygame pixelarray(windowsurface pixarray[ ][ black line creates pygame pixelarray object (called pixelarray object for shortthe pixelarray object is list of lists of color tuples that represents the surface object you passed it line passes windowsurface to the pygame pixelarray(callso assigning black to pixarray[ ][ on line will change the pixel at the coordinates ( to be black pixel pygame will automatically modify the windowsurface object with this change the first index in the pixelarray object is for the -coordinate the second index is for the ycoordinate pixelarray objects make it easy to set individual pixels on pixelarray object to specific color del pixarray creating pixelarray object from surface object will lock that surface object locked means that no blit(function calls (described nextcan be made on that surface object to unlock the surface objectyou must delete the pixelarray object with the del operator if you forget to delete the pixelarray objectyou'll get an error message that says pygame errorsurfaces must not be locked during blit the blit(method for surface objects draw the text onto the surface windowsurface blit(texttextrectthe blit(method will draw the contents of one surface object onto another surface object line will draw the "hello world!surface object in text and draws it to the surface object stored in the windowsurface variable the second parameter to blit(specifies where on the windowsurface surface the text surface should be drawn pass the rect object you got from calling text get_rect(on line