使用Python打造你的专属贪吃蛇游戏

想学习如何用Python编写游戏吗?这篇文章将带你从零开始创建一个经典的贪吃蛇游戏。我们将使用Pygame库来实现图形界面和游戏逻辑。

准备工作

你需要安装Python和Pygame库。如果你还没有安装,可以访问以下网站下载安装包:

  • Python: https://www.python.org/downloads/* Pygame: https://www.pygame.org/download.shtml

代码实现pythonimport pygameimport random

初始化游戏pygame.init()

定义颜色BLACK = (0, 0, 0)WHITE = (255, 255, 255)GREEN = (0, 255, 0)RED = (255, 0, 0)

窗口大小和速度设置window_width = 800window_height = 600speed = 20

创建游戏窗口window = pygame.display.set_mode((window_width, window_height))pygame.display.set_caption('贪吃蛇游戏')

游戏循环标志位running = True

蛇的初始位置snake_x = window_width // 2snake_y = window_height // 2

蛇的初始移动方向和长度snake_direction = 'RIGHT'snake_length = 1

初始化蛇身列表snake_body = []snake_body.append([snake_x, snake_y])

生成食物的随机位置food_x = random.randint(0, (window_width - speed) // speed) * speedfood_y = random.randint(0, (window_height - speed) // speed) * speed

游戏主循环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_UP and snake_direction != 'DOWN': snake_direction = 'UP' elif event.key == pygame.K_DOWN and snake_direction != 'UP': snake_direction = 'DOWN' elif event.key == pygame.K_LEFT and snake_direction != 'RIGHT': snake_direction = 'LEFT' elif event.key == pygame.K_RIGHT and snake_direction != 'LEFT': snake_direction = 'RIGHT'

# 移动蛇的身体    if snake_direction == 'UP':        snake_y -= speed    elif snake_direction == 'DOWN':        snake_y += speed    elif snake_direction == 'LEFT':        snake_x -= speed    elif snake_direction == 'RIGHT':        snake_x += speed

# 判断是否吃到食物    if snake_x == food_x and snake_y == food_y:        # 生成新的食物位置        food_x = random.randint(0, (window_width - speed) // speed) * speed        food_y = random.randint(0, (window_height - speed) // speed) * speed        # 蛇长度增加        snake_length += 1

# 更新蛇身列表    snake_body.append([snake_x, snake_y])    if len(snake_body) > snake_length:        del snake_body[0]

# 绘制背景    window.fill(BLACK)

# 绘制食物    pygame.draw.rect(window, GREEN, [food_x, food_y, speed, speed])

# 绘制蛇    for part in snake_body:        pygame.draw.rect(window, WHITE, [part[0], part[1], speed, speed])

# 更新显示    pygame.display.update()

# 判断游戏结束条件    if snake_x < 0 or snake_x >= window_width or snake_y < 0 or snake_y >= window_height:        running = False        print('游戏结束!')

# 判断蛇是否撞到自己    for part in snake_body[:-1]:        if part == [snake_x, snake_y]:            running = False            print('游戏结束!')

# 控制游戏速度    pygame.time.Clock().tick(10)

退出游戏pygame.quit()

代码解释

  • 初始化: 初始化Pygame库,设置游戏窗口大小和标题。* 游戏循环: 使用 while 循环不断更新游戏状态,直到玩家退出游戏。* 事件处理: 处理玩家的键盘输入,控制蛇的移动方向。* 蛇的移动: 根据玩家的输入更新蛇的位置。* 食物生成: 当蛇吃到食物时,随机生成新的食物。* 游戏结束: 当蛇撞到边界或自己身体时,游戏结束。

总结

通过这个简单的例子,你已经学会了如何使用Python和Pygame库创建一个简单的贪吃蛇游戏。你可以尝试修改代码,添加更多功能,例如计分、不同难度等级等,让你的游戏更加有趣!

Python贪吃蛇游戏实战:从零开始打造经典游戏

原文地址: https://www.cveoy.top/t/topic/PRa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录