用py做一个贪吃蛇的游戏
下面是一个简单的贪吃蛇游戏的Python代码示例:
import pygame
import random
# 初始化pygame
pygame.init()
# 设置游戏窗口大小和标题
window_width = 800
window_height = 600
window = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("贪吃蛇游戏")
# 定义贪吃蛇和食物的大小
snake_size = 20
food_size = 20
# 定义贪吃蛇的初始位置和方向
snake_x = window_width // 2
snake_y = window_height // 2
snake_dx = 0
snake_dy = 0
# 定义贪吃蛇的身体
snake_body = []
snake_length = 1
# 定义食物的位置
food_x = random.randint(0, (window_width - food_size) // food_size) * food_size
food_y = random.randint(0, (window_height - food_size) // food_size) * food_size
# 定义游戏时钟
clock = pygame.time.Clock()
# 游戏主循环
running = True
while running:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
snake_dx = -snake_size
snake_dy = 0
elif event.key == pygame.K_RIGHT:
snake_dx = snake_size
snake_dy = 0
elif event.key == pygame.K_UP:
snake_dy = -snake_size
snake_dx = 0
elif event.key == pygame.K_DOWN:
snake_dy = snake_size
snake_dx = 0
# 更新贪吃蛇的位置
snake_x += snake_dx
snake_y += snake_dy
# 判断贪吃蛇是否吃到食物
if snake_x == food_x and snake_y == food_y:
snake_length += 1
food_x = random.randint(0, (window_width - food_size) // food_size) * food_size
food_y = random.randint(0, (window_height - food_size) // food_size) * food_size
# 更新贪吃蛇的身体
snake_body.append((snake_x, snake_y))
if len(snake_body) > snake_length:
del snake_body[0]
# 清空游戏窗口
window.fill((0, 0, 0))
# 绘制贪吃蛇的身体
for segment in snake_body:
pygame.draw.rect(window, (0, 255, 0), (segment[0], segment[1], snake_size, snake_size))
# 绘制食物
pygame.draw.rect(window, (255, 0, 0), (food_x, food_y, food_size, food_size))
# 更新游戏显示
pygame.display.update()
# 控制游戏帧率
clock.tick(10)
# 退出游戏
pygame.quit()
这是一个基本的贪吃蛇游戏,贪吃蛇可以通过方向键控制移动,吃到食物后身体长度会增加。游戏窗口大小为800x600,贪吃蛇和食物的大小为20x20。希望这个示例能帮到你
原文地址: http://www.cveoy.top/t/topic/h1qU 著作权归作者所有。请勿转载和采集!