没有合适的资源?快使用搜索试试~ 我知道了~
贪吃蛇课程设计报告.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
27 浏览量
2022-07-10
10:35:00
上传
评论
收藏 348KB PDF 举报
贪吃蛇课程设计报告.pdf贪吃蛇课程设计报告.pdf贪吃蛇课程设计报告.pdf贪吃蛇课程设计报告.pdf贪吃蛇课程设计报告.pdf贪吃蛇课程设计报告.pdf贪吃蛇课程设计报告.pdf贪吃蛇课程设计报告.pdf
资源推荐
资源详情
资源评论















目录
1. 课程设计目的
……………………………………………………………3
2. 课程设计任务与要求
…………………………………………………3
课程设计内容…………………………………………………………3
课程设计要求…………………………………………………………3
课程设计环境…………………………………………………………3
3. 课程设计方案
……………………………………………………………3
方案论证………………………………………………………………3
程序整体设计说明
………………………………………………………3
设计思路………………………………………………………………4
设计总体流程图………………………………………………………4
设计的具体实现………………………………………………………5
4. 程序测试
…………………………………………………………………8
测试内容与结果………………………………………………………8
程序运行效果图………………………………………………………9
5. 课程设计总结
…………………………………………………………10
6.参考文献
…………………………………………………………………11
附录 源程序
…………………………………………………………………11
1. 课程设计目的:
复习、巩固才 C、C++ 的基础知识,进一步加深对 VC 技术的理解和
掌握;
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课
本上的理论知识和实际有机的结合起来, 锻炼学生的分析解决实际
问题的能力。
培养学生在项目开发中团队合作精神、创新意识及能力
2. 课程设计任务与要求
课程设计
内容
贪吃蛇游戏开发,首先它可以为大家提供一种当前比较流行的休闲小
游戏。贪吃蛇是家喻户晓的益智类小游戏,选择这个题目一是为了将自己
的所学知识加以运用,二是一直以来贪吃蛇这个游戏就深深地吸引着很多
人,它的制作方法对于很多同学而言都是很神秘的。所以我们希望通过这
学期所学知识把它剖析开来,真真正正的了解它的本质和精髓。在这次学

习中我们将从实践和实际的项目中提高自己的编程能力。因此决定选择这
个题目作为 VC 的课程设计。
最后一部分就是游戏的模块划分,根据分析,贪吃蛇这个程序一共要
实现如下几个功能,包括游戏方面开始游戏、暂停游戏以及停止游戏,游
戏设置(蛇的颜色、食物的颜色操作说明等)与积分。
课程设计要求
对系统进行功能模块分析、控制模块分析正确,符合课题要求,实
现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;
系统设计要实用,采用模块化程序设计方法,编程简练、可用,功
能全面;
说明书、流程图要清楚;
记录设计情况(备查,也为编写设计说明书作好准备);
课程设计环境
Windows7 操作系统,开发环境。
3. 课程设计方案
方案论证
方案一:基于 MFC 设计
该方案的好处是系统自动生成软件框架,设计者只需填充编写的代码即可,
程序设计比较复杂,对于编程能力不强的同学来说难度较大。
方案二:基于 easyX 设计
该方案的好处是设计者只需编写程序文件,完成后编译即可生成可执行文
件,编程前需要先安装 easyX 图形库。
由于编程能力不强,方案二设计简单,易于调试,故选择方案二。
程序整体设计说明
一个游戏要有开始部分,运行部分,结束部分(实际上开始部分与运行部分是一体的)。
游戏界面:
1)开始游戏(加载并开始)
2)暂停游戏(从当前进度结束)
3)重新开始(在某一时刻暂停后可以继续接着玩)
游戏设置:
1) 蛇的颜色(红色)
2) 游戏帮助(游戏控制说明)
3) 积分(每次吃掉一个食物增加10分,并显示出来)
设计思路
这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长
一节,增加一个矩形块。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能
改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝
着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后
蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时原来蛇的位置和新蛇的位
置差一个单位,所以看起来蛇会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和
消失也是画矩形块和覆盖矩形块。
设计总体流程图
载入游戏并初始化
否
判断是否开始

设计的具体实现
1)食物类
struct Food
{
};
int x;
int y;
蛇头和食物坐标是否重合否
/*食物的结构体定义*/
/*食物的横坐标*/
/*食物的纵坐标*/
/*判断是否要出现食物的变量*/int addFood;
2)蛇块类
把蛇分成一块一块,一个蛇相当于有若干个块,蛇块类就是用来描述每块的
信息。
struct Snake
{
int x[MAX_JOINTS];
};
3)初始化游戏
游戏开始界面的初始化:
void InitGraph()
{
}
4)绘制游戏场景
setlinestyle(PS_SOLID, 5)用于绘制实心的宽度为 5 个像素的线型,bar(i,40,i+7,47);为画一个左
上角为(i,40),右下角为(i+7,47)的矩形条,rectangle(i, 40, i+10, 49)也用于画矩形。
void DrawFence(){
int i;
setbkcolor(LIGHTGREEN);
setlinestyle(PS_SOLID, 5);
蛇的第四节开始判断是否撞到自己,因为蛇头为两节,第三节不可能拐过来
cleardevice();
setbkcolor(BLUE); /*设置背景颜色*/
setcolor(WHITE); /*设置前景颜色*/
cleardevice();
setfont(25, 0, _T("微软雅黑"));
outtextxy(170,150,"Greedy Snake"); /*在坐标(170,150)处输出字符串*/
outtextxy(219,254,"Ready");
getch();
setbkcolor(0);
cleardevice();
int y[MAX_JOINTS];
int joint;
int life;
int direction;
/*保存蛇身每一节位于屏幕上的列坐标*/
/*保存蛇身每一节位于屏幕上的行坐标*/
/*蛇的结构体定义*/
/*蛇的节数*/
/*蛇移动方向*/
/*蛇的生命,0 活着,1 死亡*/
for (i=3; i<; i++)
剩余10页未读,继续阅读
资源评论

春哥111
- 粉丝: 7613
- 资源: 6万+

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- airbattery_v1.0_itmop.com.zip
- ChatGPT科研神器:润色论文,还能帮你读代码
- 脑电功能连接性分析工具包
- 22年开始整理从17年陆续收集的github源码链接,整理成Excel文档 此为第10个文档
- 22年开始整理从17年陆续收集的github源码链接,整理成Excel文档 此为第9个文档
- 【计算机专业VB-毕业设计100套之】VB健身中心会员管理系统(源代码+系统+开题报告+答辩PPT+中英文翻译)
- armarmarmarmarm
- 研究生人工智能机器学习PPT
- 【计算机专业VB-毕业设计100套之】VB计算机自动出卷系统(开题报告+外文翻译+源程序+可执行程序+论文正文+答辩ppt)
- MACMidjourney必备Discord
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
