import pygame from pygame import locals # 初始化pygame,为使用硬件做准备 pygame.init() # 创建一个窗口 screen = pygame.display.set_mode((660, 480)) # 背景 background = pygame.image.load('bg.png') right = pygame.image.load('right.png') left = pygame.image.load('left.png') up = pygame.image.load('up.png') down = pygame.image.load('down.png') food = pygame.image.load('apple.png') body = pygame.image.load('body.png') CLOCK = pygame.time.Clock() x = 240 y = 120 heading = 'right' snakeheading = right zuobiao = [(180,90),(180,120),(210,120),(x,y)] while True: for event in pygame.event.get(): if event.type == locals.QUIT: # 接收到退出事件后退出程序 exit() if event.type == locals.KEYDOWN: if event.key == locals.K_DOWN and heading != 'up': heading = 'down' snakeheading = down if event.key == locals.K_RIGHT and heading != 'left': heading = 'right' snakeheading = right if event.key == locals.K_LEFT and heading != 'right': heading = 'left' snakeheading = left if event.key == locals.K_UP and heading != 'down': heading = 'up' snakeheading = up if heading == 'down': y +=30 elif heading == 'up': y -=30 elif heading == 'right': x +=30 else : x -=30 zuobiao.append((x,y)) zuobiao.pop(0) # 背景图画上去 screen.blit(background, (0, 0)) # 将贪吃蛇画上去 screen.blit(snakeheading, (x, y)) # 将贪吃蛇的身体画上去 for i in range(len(zuobiao)-1): screen.blit(body,zuobiao[i]) # 将果实画上去 screen.blit(food, (360, 300)) # 刷新画面 pygame.display.update() CLOCK.tick(3)