用python写一个简易的贪吃蛇游戏

写一个完整的贪吃蛇游戏是一个比较大的项目,不过我可以提供一个基本的贪吃蛇游戏的示例,包括基本的游戏逻辑和控制。这个示例将使用 Python 的 pygame 库来实现图形界面和游戏循环。

首先,请确保你已经安装了 pygame 库。如果没有安装,可以使用以下命令来安装:

 

bash

pip install pygame

接下来是一个简单的贪吃蛇游戏示例代码:

 

python

import pygame import sys import random # 初始化 pygame pygame.init() # 设置游戏窗口大小和标题 WINDOW_WIDTH = 400 WINDOW_HEIGHT = 400 GRID_SIZE = 20 GRID_WIDTH = WINDOW_WIDTH // GRID_SIZE GRID_HEIGHT = WINDOW_HEIGHT // GRID_SIZE WINDOW = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) pygame.display.set_caption('贪吃蛇游戏') # 颜色定义 WHITE = (255, 255, 255) BLACK = (0, 0, 0) RED = (255, 0, 0) # 蛇和食物的初始位置 snake = [(GRID_WIDTH // 2, GRID_HEIGHT // 2)] food = (random.randint(0, GRID_WIDTH-1), random.randint(0, GRID_HEIGHT-1)) # 初始移动方向 dx, dy = 1, 0 # 向右移动 # 游戏循环标志 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_UP and dy == 0: dx, dy = 0, -1 # 向上移动 elif event.key == pygame.K_DOWN and dy == 0: dx, dy = 0, 1 # 向下移动 elif event.key == pygame.K_LEFT and dx == 0: dx, dy = -1, 0 # 向左移动 elif event.key == pygame.K_RIGHT and dx == 0: dx, dy = 1, 0 # 向右移动 # 移动蛇 new_head = (snake[0][0] + dx, snake[0][1] + dy) # 检查是否吃到食物 if new_head == food: snake.append(food) food = (random.randint(0, GRID_WIDTH-1), random.randint(0, GRID_HEIGHT-1)) else: # 移动蛇身 snake = [new_head] + snake[:-1] # 检查游戏结束条件 if (snake[0][0] < 0 or snake[0][0] >= GRID_WIDTH or snake[0][1] < 0 or snake[0][1] >= GRID_HEIGHT or len(snake) != len(set(snake))): running = False # 绘制游戏界面 WINDOW.fill(BLACK) # 绘制蛇 for segment in snake: pygame.draw.rect(WINDOW, WHITE, (segment[0]*GRID_SIZE, segment[1]*GRID_SIZE, GRID_SIZE, GRID_SIZE)) # 绘制食物 pygame.draw.rect(WINDOW, RED, (food[0]*GRID_SIZE, food[1]*GRID_SIZE, GRID_SIZE, GRID_SIZE)) # 更新显示 pygame.display.flip() # 控制游戏速度 pygame.time.Clock().tick(10) # 游戏结束 pygame.quit() sys.exit()

这段代码创建了一个基本的贪吃蛇游戏,包括以下功能:

  1. 初始化 Pygame 和设置窗口。
  2. 定义游戏界面的大小和格子大小。
  3. 设置蛇和食物的初始位置。
  4. 处理用户输入来控制蛇的移动方向。
  5. 在游戏循环中更新蛇的位置,并检查是否吃到食物或游戏结束。
  6. 绘制游戏界面,包括蛇和食物。
  7. 使用 Pygame 的时钟控制游戏速度。

这个示例是一个基本的框架,你可以根据需要进行扩展,比如增加分数计算、游戏等级、碰撞检测等功能,使游戏更加完善和有趣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值