- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C语言程序设计》实验大作业反思报告
PAGE 10
《C语言程序设计》实验大作业反思报告
大作业题目
类型
信息管理系统 / 游戏
班 号
学 号
所在院系
学 期
任课教师
实验类型
综合设计型
实验目的:
掌握程序设计的基本算法和简单数据结构基础,能够综合运用基本控制语句、算法和数据结构,以及自顶向下、逐步求精的模块化设计方法,能够设计具有一定规模的系统级C语言程序,提高系统编程能力;
针对计算相关的复杂工程问题,能够使用恰当的算法和数据结构,完成计算、统计、排序、检索、匹配等相关的软件系统的构造、测试与实现;
掌握常用的程序调试和测试方法。
实验要求:
采用自顶向下、逐步求精的模块化设计思想设计一个小型信息库管理系统,或者闯关式游戏程序。
要求解释说明采用了什么数据结构和算法,为什么选择这种数据结构或算法,系统实现过程中遇到了哪些问题,这些问题是如何解决的,还有什么问题尚未解决,今后打算从哪几个方面进行改进,本设计的亮点和难点在哪里,实验结果如何,有哪些收获和学习体会;
编写程序完成以下实验大作业内容并完成实验大作业反思报告。
实验内容:
设计游戏开始界面
设计蛇以及食物的数据结构
设计游戏的空间大小
用户通过按键进行蛇的上下左右移动
用户不进行按键时蛇保持前进状态
随机在空间内产生食物,并且出现食物的分数
用户可以通过食物形状来判断,并且系统判断蛇是否吃到食物
当蛇吃到食物,蛇会增长,同时分数增加
当蛇吃到自己或者撞墙,游戏结束
用户可以通过自己按键来使游戏结束
实验环境:
操作系统: Windows 10
集成开发环境:Codeblocks17.12
外部库:
输入输出设计:
游戏难度输入,char类型,因为通过单个字符来判定游戏难度方便游戏玩家,同时字符可以用getchar()读走。上下左右移动输入,char类型,原因同上。
输出游戏成绩,int型,原因每个食物的分数采取整型,简单明了。
系统设计与实现:
系统功能模块划分
游戏开始对系统进行自顶向下的模块分解,画出系统各个功能模块之间的结构图
游戏开始
游戏
游戏界面生成
生成
生成食物和蛇的形状
用户
用户操作游戏进程
结束
结束游戏
函数功能和外部接口设计
本系统总计设计了8个函数,每个函数的功能和接口设计如下表所示:
序号
函数名
函数功能
函数参数
函数返回值
1
main
主函数
无
int
2
Start
游戏初始状态
无
int
3
Circle
控制游戏范围
无
无
4
End
游戏结束
无
无
5
Food
食物创造
无
无
6
Line
将光标移动到指定位置
Int x,int y
无
7
Pause
暂停游戏
无
无
8
Map
生成地图
无
无
9
Snake
生成小蛇
无
无
10
Move
进行蛇的移动
无
int
11
Welcome
游戏欢迎界面
无
无
12
Wall
判断是否撞墙
无
int
13
Eatself
判断是否吃到自己
无
int
各个函数之间的调用关系如下所示:
进行
进行光标的移动
游戏
游戏初始化
对地图
对地图和蛇初始化
主
主函数
蛇的移动
蛇的移动
游戏进程
进行游戏输赢
进行游戏输赢判断
判断
判断是否撞墙或吃掉自己
否
是
结束
结束游戏
数据结构
用链表初始化小蛇,采用了链表的结构
算法
采用迭代的方式对小蛇进行状态描述
采用了递归算法保证食物在空间内
对游戏结束时的信息显示采取了枚举法
程序流程图
系统总体流程图如下:
游戏
游戏初始界面
初始化
初始化地图,生成地图,小蛇,成建食物
显示
显示当前分数
是否吃到食物小蛇进行
是否吃到食物
小蛇进行移动
玩家进行操作
得分增加,创建
得分增加,创建新食物
是否撞墙或
是否撞墙或吃到自己
输出分数,游戏结束
输出分数,游戏结束
否
实验过程中遇到的问题及解决方法与思路:
问题1: 蛇吃掉了食物但是分数并没有及时进行变化
原因:处理分数的函数所处于的位置导致进行有时差
解决方法:不断地改变函数位置,找到最合适的位置
问题2: 每次食物的更新总是出现到同一个地方
原因:随机函数出现了问题
解决方法: 进行随机函数的重新学习认识,然后再进行更改
问题3:小蛇撞墙游戏并未结束
原因:判断是否吃掉自己这个功能的函数出了问题
解决方法:对这个函数进行更改,并不断调试运行
测试用例和系统测试结果:
测试用例1:
初始界面:
……游戏介绍界面:
游戏进行界面
游戏结束界面
程序的全部源代码:
#includestdio.h??
#includetime.h??
#includeWindows.h??
#includestdlib.h??
#define?U?1??
#define?D?2??
#define?L?3??
#define
您可能关注的文档
最近下载
- 2021年湖南省融资担保集团有限公司校园招聘试题及答案解析.docx
- 危重患者病情观察及护理考核试题与答案.docx
- 石油化工电路防爆电气设备—安装作业指导书.doc VIP
- 俯卧位通气课件.pptx VIP
- 就业指导讲座心得体会.pdf
- 05SFG04-钢结构装配式防倒塌棚架结构设计图集.pdf
- 第1号修改单《安全阀安全技术监察规程》(TSGZF001-2023年).docx
- Discourse and register analysis approaches课件.ppt
- 第4节带电粒子在电场中的运动(教学设计)新教材2023-2024学年高中物理必修第三册(鲁科版).docx
- 智慧电厂智能电厂智慧运行平台方案.pptx
文档评论(0)