diff --git a/snake.py b/snake.py index f4fb40a..5d269d1 100644 --- a/snake.py +++ b/snake.py @@ -1,5 +1,6 @@ import pygame from pygame import locals +import random # 初始化pygame,为使用硬件做准备 pygame.init() @@ -16,13 +17,16 @@ 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', 18) # 字体 x, y = 240, 120 position = [(180, 90), (180, 120), (210, 120), (x, y)] -apple_x = 360 -apple_y = 300 +apple_x = 360 # 苹果横坐标 +apple_y = 300 # 苹果纵坐标 + setheading = "right" snake_head = right +score = 0 while True: for event in pygame.event.get(): @@ -53,10 +57,17 @@ while True: else: y += 30 position.append((x, y)) - position.pop(0) - if x ==apple_x and y==apple_y: - apple_x = random.randint(0,660) - apple_y = random.randint(0,480) + # 贪吃蛇吃到了苹果 + 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) + # 贪吃蛇撞墙 + if x < 0 or x > 630 or y < 0 or y > 450: + exit() # 将背景图画上去 screen.blit(background, (0, 0)) # 将贪吃蛇的头画上去 @@ -67,6 +78,11 @@ while True: # 将果实画上去 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