diff --git a/apple.png b/apple.png new file mode 100644 index 0000000..e58cb8f Binary files /dev/null and b/apple.png differ diff --git a/bg.png b/bg.png new file mode 100644 index 0000000..a085237 Binary files /dev/null and b/bg.png differ diff --git a/body.png b/body.png new file mode 100644 index 0000000..a254609 Binary files /dev/null and b/body.png differ diff --git a/down.png b/down.png new file mode 100644 index 0000000..41d1525 Binary files /dev/null and b/down.png differ diff --git a/left.png b/left.png new file mode 100644 index 0000000..365dffe Binary files /dev/null and b/left.png differ diff --git a/neuropol.ttf b/neuropol.ttf new file mode 100644 index 0000000..ddefb40 Binary files /dev/null and b/neuropol.ttf differ diff --git a/right.png b/right.png new file mode 100644 index 0000000..e77639a Binary files /dev/null and b/right.png differ diff --git a/snake.py b/snake.py new file mode 100644 index 0000000..d8bf057 --- /dev/null +++ b/snake.py @@ -0,0 +1,73 @@ +import pygame +from pygame import locals +import random +# 初始化pygame,为使用硬件做准备 +pygame.init() + +# 创建一个窗口 +screen = pygame.display.set_mode((660, 480)) +FPSCLOCK=pygame.time.Clock() +my_font=pygame.font.Font('neuropol.ttf',18) +# 背景 +background = pygame.image.load('bg.png') +right = pygame.image.load('right.png') +food = pygame.image.load('apple.png') +body = pygame.image.load('body.png') +left = pygame.image.load('left.png') +up = pygame.image.load('up.png') +down = pygame.image.load('down.png') +x,y=240,120 +lis=[(180,90),(180,120),(210,120),(x,y)] +apple_x=360 +apple_y=300 +setheading="right" +snake=right +score=0 +while True: + for event in pygame.event.get(): + if event.type == locals.QUIT: + # 接收到退出事件后退出程序 + exit() + if event.type==locals.KEYDOWN: + if event.key==locals.K_RIGHT and setheading!="left": + setheading="right" + snake=right + if event.key==locals.K_LEFT and setheading!="right": + setheading="left" + snake=left + if event.key==locals.K_UP and setheading!="down": + setheading="up" + snake=up + if event.key==locals.K_DOWN and setheading!="up": + setheading="down" + snake=down + if setheading=="right": + x+=30 + elif setheading=="left": + x-=30 + elif setheading=="up": + y-=30 + else: + y+=30 + lis.append((x,y)) + if x==apple_x and y==apple_y: + apple_x=random.randrange(0,660,30) + apple_y=random.randrange(0,480,30) + score+=10 + else: + lis.pop(0) + # 将背景图画上去 + screen.blit(background, (0, 0)) + # 将贪吃蛇画上去 + screen.blit(snake, (x, y)) + # 将贪吃蛇的身体画上去 + for i in range(len(lis)-1): + screen.blit(body,lis[i]) + # 将果实画上去 + screen.blit(food, (apple_x, apple_y)) + info="Score:"+str(score) + text=my_font.render(info,True,(0,0,0)) + screen.blit(text,(540,10)) + # 刷新画面 + pygame.display.update() + FPSCLOCK.tick(3) \ No newline at end of file diff --git a/up.png b/up.png new file mode 100644 index 0000000..44f2e28 Binary files /dev/null and b/up.png differ