基于pygame的贪吃蛇游戏

14/100保存草稿发布文章 博文管理我的博客退出加粗 斜体 标题 删除线 无序 有序 待办 引用 代码块 BashCC++C#CLikeCSSGoHandlebarsJavaJavaScriptKotlinMarkupObjective-CPerlPHPShellPythonRubySQLSwiftVB.NetYAML图片 视频 表格 超链接 摘要 添加摘要 导入 导出 保存 填写标题才可自动保存 撤销 重做 目录 帮助 1.引言
项目选择了做小游戏,然后去网上查找了一些相关资料,觉得贪吃蛇的制作过程对初学者而言相对要简单,所以便用pygame这个模块来进行制作。这个游戏研究的意义就是为了熟悉pygame开发游戏的流程,这个游戏的功能有控制键盘能够操纵蛇的运行。
2.系统结构
2.1.系统总体设计

模块-功能对照表
|模块名称| 程序功能|
|–Pygame模块|-curses库为基于文本的终端提供独立于终端的屏幕绘制和键盘处理设施,显示字符界面,以及数据库操作-|
| random模块 | 产生随机数,以及随机选择。 |
2.2逻辑实现设计
此游戏设计和一般游戏设计流程一样,有游戏初始化init,游戏中game,游戏结束gameove,吃到食物增加蛇身长度,游戏继续,退出游戏可按Esc键。
在这里插入图片描述
2.3实现原理
将整个游戏区域划分成一个个的小格子,由一组连在一起的小格子组成“蛇”,我们可以用不同的颜色来表示。用坐标来表示每一个小方格,X 轴和 Y 轴的范围都是可以设定好的。用一个列表来存放“蛇身”的坐标,那么一条“蛇”就出来了,最后只要显示的时候以不同的颜色表示即可。蛇的移动则是将下一格的坐标添加到列表开头,并移除列表的最后一个元素,就相当于蛇向前移动了一格。蛇移动超出了游戏区的范围则判断游戏结束。
2.4逻辑图
在这里插入图片描述
3.实现代码

先安装pygame框架:pip install pygame下一步就是导入模块:`#!/usr/bin/env

python
import pygame,sys,time,random
from pygame.locals import *`
*

定义颜色变量*
由于我们需要用到一些颜色,而Python是不自带的。所以我们需要定义几个颜色。

redColour = pygame.Color(255,0,0)
blackColour = pygame.Color(0,0,0)
whiteColour = pygame.Color(255,255,255)
greyColour = pygame.Color(150,150,150)
lightColor = pygame.Color(220, 220, 220)`

定义gameover函数
所有游戏最重要的部分是循环。而GameOver函数就是跳出这个循环的条件。这里给出当蛇碰到边界时显示的界面。

def gameOver(playSurface):
    gameOverFont = pygame.font.Font('arial.ttf',72)
    gameOverSurf = gameOverFont.render('Game Over', True, greyColour)
    gameOverRect = gameOverSurf.get_rect()
    gameOverRect.midtop = (320, 10)
    playSurface.blit(gameOverSurf, gameOverRect)
    pygame.display.
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值