编写贪吃蛇游戏可以使用Python的`pygame`库。以下是一个简单的贪吃蛇游戏示例代码,使用`pygame`库实现游戏界面绘制和键盘事件监听:
import pygameimport random初始化pygamepygame.init()设置游戏窗口大小WINDOW_WIDTH = 800WINDOW_HEIGHT = 600设置贪吃蛇尺寸SNAKE_SIZE = 20创建游戏窗口screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))pygame.display.set_caption("贪吃蛇游戏")定义颜色常量BLACK = (0, 0, 0)WHITE = (255, 255, 255)RED = (255, 0, 0)贪吃蛇的初始位置和移动方向snake_x = WINDOW_WIDTH // 2snake_y = WINDOW_HEIGHT // 2snake_dx = 1snake_dy = 0贪吃蛇的身体snake_body = [[snake_x, snake_y]]食物的初始位置food_x = random.randint(0, (WINDOW_WIDTH - SNAKE_SIZE) // SNAKE_SIZE) * SNAKE_SIZEfood_y = random.randint(0, (WINDOW_HEIGHT - SNAKE_SIZE) // SNAKE_SIZE) * SNAKE_SIZE设置游戏时钟clock = pygame.time.Clock()游戏结束标志game_over = False游戏循环while not game_over:for event in pygame.event.get():if event.type == pygame.QUIT:game_over = Trueelif event.type == pygame.KEYDOWN:if event.key == pygame.K_UP:snake_dy = -SNAKE_SIZEelif event.key == pygame.K_DOWN:snake_dy = SNAKE_SIZEelif event.key == pygame.K_LEFT:snake_dx = -SNAKE_SIZEelif event.key == pygame.K_RIGHT:snake_dx = SNAKE_SIZE更新贪吃蛇位置snake_x += snake_dxsnake_y += snake_dy检查蛇头是否撞到墙壁if snake_x < 0 or snake_x >= WINDOW_WIDTH or snake_y < 0 or snake_y >= WINDOW_HEIGHT:game_over = True检查蛇头是否吃到食物if [snake_x, snake_y] == [food_x, food_y]:food_x = random.randint(0, (WINDOW_WIDTH - SNAKE_SIZE) // SNAKE_SIZE) * SNAKE_SIZEfood_y = random.randint(0, (WINDOW_HEIGHT - SNAKE_SIZE) // SNAKE_SIZE) * SNAKE_SIZEelse:移除蛇尾部分snake_body.pop()绘制贪吃蛇screen.fill(WHITE)for part in snake_body:pygame.draw.rect(screen, BLACK, pygame.Rect(part, part, SNAKE_SIZE, SNAKE_SIZE))绘制食物pygame.draw.rect(screen, RED, pygame.Rect(food_x, food_y, SNAKE_SIZE, SNAKE_SIZE))更新显示pygame.display.flip()控制帧率clock.tick(10)退出游戏pygame.quit()
这段代码创建了一个简单的贪吃蛇游戏,玩家可以使用键盘上的方向键控制蛇的移动,吃到红色食物后蛇会变长,撞到墙壁或者自己游戏结束。
请注意,上述代码仅为示例,实际应用中可能需要添加更多功能,比如计分、不同级别的难度设置等。此外,代码中未包含退出机制,你可以根据需求添加一个退出按钮或者按键来结束游戏

