From ad9adeb3dc057af0d755313a2358e305aa97c41f Mon Sep 17 00:00:00 2001 From: BellCodeEditor <bellcode_dev@bell.ai> Date: Sat, 25 Dec 2021 16:31:54 +0800 Subject: [PATCH] auto save --- snake.py | 63 +++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 37 insertions(+), 26 deletions(-) diff --git a/snake.py b/snake.py index 4991654..c2cfa77 100644 --- a/snake.py +++ b/snake.py @@ -1,33 +1,37 @@ import pygame -import random from pygame import locals +import random + +# 初始化pygame,为使用硬件做准备 pygame.init() -screen = pygame.display.set_mode((661, 481)) -FPSCLOCK = pygame.time.Clock() +# 创建一个窗口 +screen = pygame.display.set_mode((660, 480)) +FPSCLOCK = pygame.time.Clock() # pygame时钟,控制游戏速度(帧数) +# 背景 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') +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') # 头 朝下 +my_font = pygame.font.Font('neuropol.ttf',10) - -x2=330 -y2=330 x, y = 240, 120 - position = [(180, 90), (180, 120), (210, 120), (x, y)] +apple_x = 360 # 苹果横坐标 +apple_y = 300 # 苹果纵坐标 setheading = "right" snake_head = 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": @@ -41,8 +45,9 @@ while True: snake_head = up if event.key == locals.K_DOWN and setheading != "up": setheading = 'down' - snake_head = down + snake_head = down + # 设置贪吃蛇的头部坐标 if setheading == "right": x += 30 elif setheading == "left": @@ -51,23 +56,29 @@ while True: y -= 30 else: y += 30 - position.append((x, y)) - - if x2==x and y2==y: - x2=random.randint(0,21) - y2=random.randint(0,15) - x2=x2*30 - y2=y2*30 + # 贪吃蛇吃到了苹果 + if x == apple_x and y == apple_y: + num1= random.randint(1, 22) # 横排第几个格子 + num2 = random.randint(1, 16) # 竖排第几个格子 + apple_x = 30*num1-30 # 苹果的x坐标 + apple_y = 30*num2-30 # 苹果的y坐标 else: position.pop(0) - + # 将背景图画上去 screen.blit(background, (0, 0)) + # 将贪吃蛇的头画上去 screen.blit(snake_head, position[-1]) - + # 将贪吃蛇的身体画上去 for i in range(len(position)-1): screen.blit(body, position[i]) - screen.blit(food, (x2, y2)) + # 将果实画上去 + screen.blit(food, (apple_x, apple_y)) + + info = "Scoret:"+ str(score) + text = my_font.render(info,True,(0,0,255)) + screen.blit(text,(540,10)) + # 刷新画面 pygame.display.update() - FPSCLOCK.tick(0.01) \ No newline at end of file + FPSCLOCK.tick(3) \ No newline at end of file -- libgit2 0.25.0