diff --git a/a b/a new file mode 100644 index 0000000..0cc7cc0 --- /dev/null +++ b/a @@ -0,0 +1,63 @@ +import pygame +from pygame import locals + +# 初始化pygame,为使用硬件做准备 +pygame.init() + +# 创建一个窗口 +screen = pygame.display.set_mode((660, 480)) +eps=pygame.time.Clock() +# 背景 +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 +position=[(180,90),(180,120),(210,120),(x,y)] +setheading="right" +snack_head=right +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" + snack_head=right + if event.key==locals.K_LEFT and setheading !="right": + setheading="left" + snack_head=left + if event.key==locals.K_UP and setheading !="down": + setheading="up" + snack_head=up + if event.key==locals.K_DOWN and setheading !="up": + setheading="down" + snack_head=down + if setheading=="right": + x+=30 + elif setheading=="left": + x-=30 + elif setheading=="up": + y-=30 + else: + y+=30 + + position.append((x,y)) + position.pop(0) + # 将背景图画上去 + screen.blit(background, (0, 0)) + # 将贪吃蛇画上去 + screen.blit(snack_head, position[-1]) + # 将贪吃蛇的身体画上去 + for i in range(len(position)-1): + screen.blit(body,position[i]) + # 将果实画上去 + screen.blit(food, (360, 300)) + # 刷新画面 + pygame.display.update() + eps.tick(3) + diff --git a/snake.py b/snake.py index 537316e..ec21e6c 100644 --- a/snake.py +++ b/snake.py @@ -1,6 +1,6 @@ import pygame from pygame import locals - +import random # 初始化pygame,为使用硬件做准备 pygame.init() @@ -19,7 +19,8 @@ down = pygame.image.load('down.png') # 头 朝下 x, y = 240, 120 position = [(180, 90), (180, 120), (210, 120), (x, y)] - +apple_x=360 +apple_y=300 setheading = "right" snake_head = right @@ -53,6 +54,9 @@ while True: y += 30 position.append((x, y)) position.pop(0) + if apple_x==x and apple_y==y: + apple_x=random.randint(0,660) + apple_y=random.randint(0,480) # 将背景图画上去 screen.blit(background, (0, 0)) # 将贪吃蛇的头画上去 @@ -62,7 +66,7 @@ while True: screen.blit(body, position[i]) # 将果实画上去 - screen.blit(food, (360, 300)) + screen.blit(food, (apple_x,apple_y )) # 刷新画面 pygame.display.update() FPSCLOCK.tick(3) \ No newline at end of file