来源:小编 更新:2025-01-13 22:32:44
用手机看
你有没有想过,在电脑屏幕前,用几行代码就能创造出一个属于自己的小世界?今天,就让我带你走进这个奇妙的世界,一起用Python编写一个经典的贪吃蛇游戏吧!
还记得小时候,那个在黑白电视上跳来跳去的贪吃蛇吗?现在,我们用Python就能轻松实现它!Python,这种简单易学的编程语言,让编程变得像玩一样简单。而贪吃蛇,这个看似简单的游戏,却蕴含着编程的智慧。
首先,你需要安装pygame库。pygame是一个开源的Python模块,专门用于游戏开发。在终端输入以下命令,安装pygame:
pip install pygame
安装完成后,你就可以开始你的编程之旅了。
下面是一个简单的贪吃蛇游戏代码:
```python
import pygame
import random
初始化pygame
pygame.init()
设置屏幕大小
width, height = 600, 400
screen = pygame.display.set_mode((width, height))
设置颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
设置时钟
clock = pygame.time.Clock()
蛇的初始位置和大小
snake_pos = [100, 50]
snake_size = 10
蛇的移动方向
direction = 'RIGHT'
食物的初始位置
food_pos = [random.randrange(1, (width//10)) 10,
random.randrange(1, (height//10)) 10]
food_size = 10
游戏循环
while True:
检测事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
direction = 'LEFT'
elif event.key == pygame.K_RIGHT:
direction = 'RIGHT'
elif event.key == pygame.K_UP:
direction = 'UP'
elif event.key == pygame.K_DOWN:
direction = 'DOWN'
移动蛇
if direction == 'LEFT':
snake_pos[0] -= 10
elif direction == 'RIGHT':
snake_pos[0] += 10
elif direction == 'UP':
snake_pos[1] -= 10
elif direction == 'DOWN':
snake_pos[1] += 10
检测蛇是否撞墙
if snake_pos[0] >= width or snake_pos[0] < 0 or snake_pos[1] >= height or snake_pos[1] < 0:
pygame.quit()
quit()
检测蛇是否撞到自己
for block in snake_pos[:-1]:
if block == snake_pos:
pygame.quit()
quit()
检测蛇是否吃到食物
if snake_pos == food_pos:
food_pos = [random.randrange(1, (width//10)) 10,
random.randrange(1, (height//10)) 10]
else:
snake_pos.pop()
绘制背景
screen.fill(BLACK)
绘制蛇
for pos in snake_pos:
pygame.draw.rect(screen, GREEN, pygame.Rect(pos[0], pos[1], snake_size, snake_size))
绘制食物
pygame.draw.rect(screen, RED, pygame.Rect(food_pos[0], food_pos[1], food_size, food_size))
更新屏幕
pygame.display.flip()
控制游戏速度
clock.tick(15)
退出游戏
pygame.quit()
这段代码中,有几个关键的部分需要我们注意:
1. 初始化pygame:这是游戏开始的第一步,它将初始化pygame库,并设置游戏窗口的大小。
2. 设置颜色:我们定义了三种颜色:白色、黑色和红色,分别用于背景、蛇和食物。
3. 设置时钟:时钟用于控制游戏的速度,这里我们设置为每秒15帧。
4. 蛇的初始位置和大小:我们定义了蛇的初始位置和大小,这里设置为100x50像素。
5. 蛇的移动方向:我们定义了四个方向:上、下、左、右,分别对应键盘的W、S、A、D键。
6. 食物的初始位置:我们随机生成食物的位置,这里设置为10x10像素的格子。