All pastes #71944 Raw Edit

Something

public text v1 · immutable
#71944 ·published 2006-06-26 11:08 UTC
rendered paste body
import pygame
from pygame.locals import *
import sys
SCREEN_HEIGHT = 640
SCREEN_WIDTH = 480
def init_pygame():
    pygame.init()
    pygame.key.set_repeat(10, 40)
def create_screen(height=640, width=480):
    screen = pygame.display.set_mode((height, width))
    screen.fill((255, 255, 255))
    return screen

def mainloop(screen):
    clock = pygame.time.Clock()
    while 1:
        pygame.display.flip()
        clock.tick(50)
        for event in pygame.event.get():
            handle_event(event, screen) 

def handle_event(event, screen):
    x, y = SCREEN_HEIGHT/2, SCREEN_WIDTH/2
    if event.type == KEYDOWN: # is a key pressed (down)?
        if event.key == K_ESCAPE: # esc key pressed? exit if so
            show_exit_message(screen)
        if event.key == K_UP:
            y -= 1
        if event.key == K_DOWN:
            y += 1
        if event.key == K_LEFT:
            x -= 1
        if event.key == K_RIGHT:
            x += 1
        # create line
        screen.set_at((x,y), (0,0,0))

def show_exit_message(screen):
    colour = (0,0,0)
    surface = create_font('Press any key to exit.', colour)
    textpos = surface.get_rect(centerx=screen.get_width()/2, centery=screen.get_height()/2) 
    # fill & blit
    screen.fill((255,255,255))
    screen.blit(surface, textpos)
    # exit on any keypress
    pygame.display.flip()
    while 1:
        if pygame.event.wait().type in (QUIT, KEYDOWN, MOUSEBUTTONDOWN):
            sys.exit()

def create_font(msg, colour):
    font = pygame.font.Font(None, 30)
    surface = font.render(msg, 0, colour)
    return surface
def show_msg(screen, msg, colour):
    
    surface = create_font(msg, colour)
    textpos = surface.get_rect(centerx=screen.get_width()/2, centery=screen.get_height()/2)
    screen.fill((255, 255, 255))
    screen.blit(surface, textpos)

def main():
    init_pygame()
    screen = create_screen()
    mainloop(screen)
    
if __name__ == '__main__':
    main()