1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | """ Sample Python/Pygame Programs Simpson College Computer Science """ import pygame # Define some colors BLACK = ( 0 , 0 , 0 ) WHITE = ( 255 , 255 , 255 ) GREEN = ( 0 , 255 , 0 ) RED = ( 255 , 0 , 0 ) def draw_stick_figure(screen, x, y): # Head pygame.draw.ellipse(screen, BLACK, [ 1 + x, y, 10 , 10 ], 0 ) # Legs pygame.draw.line(screen, BLACK, [ 5 + x, 17 + y], [ 10 + x, 27 + y], 2 ) pygame.draw.line(screen, BLACK, [ 5 + x, 17 + y], [x, 27 + y], 2 ) # Body pygame.draw.line(screen, RED, [ 5 + x, 17 + y], [ 5 + x, 7 + y], 2 ) # Arms pygame.draw.line(screen, RED, [ 5 + x, 7 + y], [ 9 + x, 17 + y], 2 ) pygame.draw.line(screen, RED, [ 5 + x, 7 + y], [ 1 + x, 17 + y], 2 ) # Setup pygame.init() # Set the width and height of the screen [width,height] size = [ 700 , 500 ] screen = pygame.display.set_mode(size) pygame.display.set_caption( "My Game" ) # Loop until the user clicks the close button. done = False # Used to manage how fast the screen updates clock = pygame.time.Clock() # Hide the mouse cursor pygame.mouse.set_visible( 0 ) # Speed in pixels per frame x_speed = 0 y_speed = 0 # Current position x_coord = 10 y_coord = 10 # -------- Main Program Loop ----------- while not done: # --- Event Processing for event in pygame.event.get(): if event. type = = pygame.QUIT: done = True # User pressed down on a key elif event. type = = pygame.KEYDOWN: # Figure out if it was an arrow key. If so # adjust speed. if event.key = = pygame.K_LEFT: x_speed = - 3 elif event.key = = pygame.K_RIGHT: x_speed = 3 elif event.key = = pygame.K_UP: y_speed = - 3 elif event.key = = pygame.K_DOWN: y_speed = 3 # User let up on a key elif event. type = = pygame.KEYUP: # If it is an arrow key, reset vector back to zero if event.key = = pygame.K_LEFT or event.key = = pygame.K_RIGHT: x_speed = 0 elif event.key = = pygame.K_UP or event.key = = pygame.K_DOWN: y_speed = 0 # --- Game Logic # Move the object according to the speed vector. x_coord = x_coord + x_speed y_coord = y_coord + y_speed # --- Drawing Code # First, clear the screen to WHITE. Don't put other drawing commands # above this, or they will be erased with this command. screen.fill(WHITE) draw_stick_figure(screen, x_coord, y_coord) # Go ahead and update the screen with what we've drawn. pygame.display.flip() # Limit frames per second clock.tick( 60 ) # Close the window and quit. pygame.quit() |