以下是一个简单的贪吃蛇游戏代码,使用 Python 和 Pygame 库实现:
import pygame
import random
# 初始化 Pygame 库
pygame.init()
# 定义窗口尺寸
window_width = 640
window_height = 480
# 创建 Pygame 窗口
game_window = pygame.display.set_mode((window_width, window_height))
# 设置窗口标题
pygame.display.set_caption("Snake Game")
# 定义颜色
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
# 定义蛇的初始位置和长度
snake_pos = [[100, 50], [90, 50], [80, 50]]
snake_len = len(snake_pos)
# 定义蛇的移动方向
direction = "right"
# 定义食物的初始位置
food_pos = [random.randint(10, 50) * 10, random.randint(10, 40) * 10]
# 加载食物图像文件
food_image = pygame.image.load("food.png")
# 设置游戏循环标志位
game_over = False
# 游戏主循环
while not game_over:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP and direction != "down":
direction = "up"
elif event.key == pygame.K_DOWN and direction != "up":
direction = "down"
elif event.key == pygame.K_LEFT and direction != "right":
direction = "left"
elif event.key == pygame.K_RIGHT and direction != "left":
direction = "right"
# 移动蛇身
if direction == "up":
for i in range(snake_len - 1, 0, -1):
snake_pos[i] = [snake_pos[i - 1][0] - 10, snake_pos[i - 1][1]]
elif direction == "down":
for i in range(snake_len - 1, 0, -1):
snake_pos[i] = [snake_pos[i - 1][0] + 10, snake_pos[i - 1][1]]
elif direction == "left":
for i in range(snake_len - 1, 0, -1):
snake_pos[i] = [snake_pos[i - 1][0], snake_pos[i - 1][1] - 10]
elif direction == "right":
for i in range(snake_len - 1, 0, -1):
snake_pos[i] = [snake_pos[i - 1][0], snake_pos[i - 1][1] + 10]
# 检查是否吃到食物
if snake_pos[0] == food_pos:
# 重置蛇的长度
snake_len += 1
# 在蛇的尾部添加一个新的身体部分
snake_pos.append([snake_pos[-1][0] + int(direction[0]) * 10, snake_pos[-1][1] + int(direction[1]) * 10])
# 重置食物位置
food_pos = [random.randint(10, 50) * 10, random.randint(10, 40) * 10]
# 在屏幕上绘制新的食物图像
game_window.blit(food_image, food_pos)
# 清空屏幕并绘制游戏元素
game_window.fill(black)
for pos in snake_pos:
pygame.draw.rect(game_window, white, pygame.Rect(pos[0], pos[1], 10, 10))
pygame.
苏公网安备 32132202001088号
| Copyright 北极熊 版权所有