贪吃蛇的编程可以通过多种方式实现,这里提供两个使用不同编程语言和库的示例代码。
使用 Pygame 库
Pygame 是一个流行的 Python 游戏开发库,可以用来创建贪吃蛇游戏。以下是一个简单的 Pygame 贪吃蛇游戏代码示例:
```python
import pygame
import time
import random
初始化 Pygame
pygame.init()
定义颜色
white = (255, 255, 255)
yellow = (255, 255, 102)
black = (0, 0, 0)
red = (213, 50, 800)
设置游戏窗口
dis_height = 600
dis_width = 400
screen = pygame.display.set_mode((dis_width, dis_height))
pygame.display.set_caption('贪吃蛇游戏')
设置游戏时钟
clock = pygame.time.Clock()
蛇的移动方向
snake_block = 10
snake_speed = 30
游戏主循环
def game_loop():
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
获取按键状态
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
direction = 'up'
if keys[pygame.K_DOWN]:
direction = 'down'
if keys[pygame.K_LEFT]:
direction = 'left'
if keys[pygame.K_RIGHT]:
direction = 'right'
更新蛇的位置
if direction == 'up':
snake_head = [snake_block, 0]
elif direction == 'down':
snake_head = [snake_block, dis_height - snake_block]
elif direction == 'left':
snake_head = [0, dis_height - snake_block]
elif direction == 'right':
snake_head = [dis_width - snake_block, dis_height - snake_block]
snake_body.insert(0, list(snake_head))
检查碰撞
if snake_head in snake_body:
pygame.quit()
quit()
生成食物
if snake_head == food.pos:
food.pos = [random.randint(0, (dis_width//snake_block - 1)) * snake_block, random.randint(0, (dis_height//snake_block - 1)) * snake_block]
length_of_snake += 1
else:
snake_body.pop()
清除屏幕
screen.fill(black)
绘制蛇和食物
for pos in snake_body:
pygame.draw.rect(screen, white, pygame.Rect(pos, pos, snake_block, snake_block))
pygame.draw.rect(screen, yellow, pygame.Rect(food.pos, food.pos, snake_block, snake_block))
更新显示
pygame.display.flip()
clock.tick(snake_speed)
初始化蛇和食物
snake_body = [(10, 50)]
food = pygame.Rect(random.randint(0, (dis_width//snake_block - 1)) * snake_block, random.randint(0, (dis_height//snake_block - 1)) * snake_block, snake_block, snake_block)
开始游戏
game_loop()
```
使用 Turtle 库
Turtle 是一个用于绘图的 Python 库,也可以用来创建贪吃蛇游戏。以下是一个简单的 Turtle 贪吃蛇游戏代码示例: