python贪吃蛇游戏代码,从零开始构建经典贪吃蛇游戏

小编

你有没有想过,在电脑屏幕前,用键盘就能操控一条蛇,让它蜿蜒穿梭,吃掉一个个小苹果?这就是传说中的贪吃蛇游戏!今天,我要带你一起走进Python的世界,用代码编织出一条属于你的贪吃蛇,让它陪你度过欢乐时光。

初识Python与pygame库

首先,你得有个Python环境。Python是一种简单易学的编程语言,非常适合初学者入门。安装Python后,我们还需要一个叫做pygame的库,它可以帮助我们轻松地创建游戏界面。

```python

import pygame

pygame库提供了丰富的功能,比如绘制图形、处理用户输入等。有了它,我们就能在屏幕上画出蛇和食物,还能让蛇动起来。

搭建游戏舞台

接下来,我们要搭建游戏的舞台。这就像是在一张白纸上画一幅画,先得确定画布的大小。

```python

pygame.init()

screen = pygame.display.set_mode((640, 480))

这里,我们设置了一个640像素宽、480像素高的游戏窗口。你可以根据自己的喜好调整这个大小。

绘制蛇与食物

现在,我们要在屏幕上画出蛇和食物。蛇可以用一个矩形表示,食物也可以用一个矩形表示,只是颜色不同。

```python

snake_color = (0, 255, 0)

food_color = (255, 0, 0)

snake_rect = pygame.Rect(100, 100, 20, 20)

food_rect = pygame.Rect(200, 200, 20, 20)

pygame.draw.rect(screen, snake_color, snake_rect)

pygame.draw.rect(screen, food_color, food_rect)

这里,我们用`pygame.draw.rect`函数画出了蛇和食物。蛇的颜色是绿色,食物的颜色是红色。

让蛇动起来

现在,蛇已经画好了,我们要让它动起来。这需要我们监听用户的键盘输入,然后根据输入改变蛇的移动方向。

```python

def move_snake(snake_rect, direction):

if direction == 'UP':

snake_rect.y -= 20

elif direction == 'DOWN':

snake_rect.y += 20

elif direction == 'LEFT':

snake_rect.x -= 20

elif direction == 'RIGHT':

snake_rect.x += 20

监听键盘输入

for event in pygame.event.get():

if event.type == pygame.KEYDOWN:

if event.key == pygame.K_UP:

move_snake(snake_rect, 'UP')

elif event.key == pygame.K_DOWN:

move_snake(snake_rect, 'DOWN')

elif event.key == pygame.K_LEFT:

move_snake(snake_rect, 'LEFT')

elif event.key == pygame.K_RIGHT:

move_snake(snake_rect, 'RIGHT')

这里,我们定义了一个`move_snake`函数,根据输入的方向改变蛇的坐标。我们监听键盘输入,当用户按下键盘时,调用`move_snake`函数让蛇移动。

吃掉食物,蛇变长

当蛇头与食物坐标重合时,蛇就吃掉了食物。这时,我们需要让蛇变长,同时重新生成食物。

```python

def eat_food(snake_rect, food_rect):

if snake_rect.colliderect(food_rect):

snake_rect.w += 20 蛇变长

food_rect.x = random.randint(0, 620)

food_rect.y = random.randint(0, 460)

检查蛇是否吃到了食物

eat_food(snake_rect, food_rect)

这里,我们定义了一个`eat_food`函数,当蛇头与食物坐标重合时,蛇变长,食物重新生成。

游戏结束,重头再来

当蛇头触碰到墙壁或自己的身体时,游戏结束。这时,我们可以让用户重新开始游戏。

```python

def check_game_over(snake_rect):

if snake_rect.x < 0 or snake_rect.x > 620 or snake_rect.y < 0 or snake_rect.y > 460:

return True

if snake_rect.colliderect(snake_rect):

return True

return False

检查游戏是否结束

game_over = check_game_over(snake_rect)

if game_over:

print(\游戏结束!\)

重新开始游戏

这里,我们定义了一个`check_game_over`函数,当蛇头触碰到墙壁或自己的身体时,游戏结束。我们检查游戏是否结束,如果结束,就提示用户游戏结束,并重新开始游戏。

通过以上步骤,我们就用Python和pygame库实现了一个简单的贪吃蛇游戏。当然,这只是一个入门级的例子,你可以根据自己的喜好添加更多的功能,比如增加蛇的速度、食物的种类等。希望这篇文章能帮助你入门Python编程,让你在游戏中感受