PyGame: draw.rect() has invalid parameters
Question: I'm trying to learn mouse events with PyGame, and I'm trying to draw a box
wherever the user clicks. I'm setting a variable equal to
pygame.mouse.get_pos(), and calling individual tuple members according to the
mouse's x, y position. Here's the code:

    
    
    import pygame, sys
    
    pygame.init()
    screen = pygame.display.set_mode((800, 600))
    
    mousepos = pygame.mouse.get_pos()
    
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
            if event.type == pygame.MOUSEBUTTONDOWN:
                pygame.draw.rect(mousepos[0], mousepos[1], 20, 20)
    

The game starts up, but when I click, it crashes, giving this error:

    
    
    Traceback (most recent call last):
      File "C:\Users\User\Documents\proj\Python\mouse.py", line 13, in <module>
        pygame.draw.rect(mousepos[0], mousepos[1], 20, 20)
    TypeError: must be pygame.Surface, not int
    

I know what I'm doing wrong: my parameters for `draw.rect()` are of invalid
types, but I don't know how to change the parameters so they're appropriate.
So how do I fix this?


Answer: Lets take a look at the function definition:

    
    
    pygame.draw.rect(Surface, Color, Rect, Thickness)
    

  * Surface is a surface where you want to draw
  * Color is a tupple with RGB values defining the color to be used
  * Rect is a tupple in the format: (x,y,width,height) 
    * x,y are the coordinates of the upper left hand corner
    * width, height are the width and height of the rectangle
  * Thickness is the thickness of the line. If it is zero, the rectangle is filled.

Based on this, you shoud do something like:

    
    
    redColor = (255,0,0)
    pygame.draw.rect(screen, redColor, (mousepos[0], mousepos[1], 20, 20), 1)
    

## Sources:

The official documentation for `python.draw` can be found here:  
<http://www.pygame.org/docs/ref/draw.html>

Mind the usefull `Search examples for <function>` button under every function
description, which can lead you to multiple real world examples of usage.

Useful tutorials can also be found on the official pages:
<http://www.pygame.org/wiki/tutorials>

Other unofficial tutorials, like [this
one](http://inventwithpython.com/pygame/chapter2.html), can be found with a
bit of Googling effort.

