- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
《C语言程序设计》实验大作业反思报告
《C语言程序设计》实验大作业反思报告
大作业题目类型游戏
班号学号
所在院系学期2020年春季学期任课教师
实验类型综合设计型
实验目的:
掌握程序设计的基本算法和简单数据结构基础,能够综合运用基本控制语句、算法和数据结构,
以及自顶向下、逐步求精的模块化设计方法,能够设计具有一定规模的系统级C语言程序,提高
系统编程能力;
针对计算相关的复杂工程问题,能够使用恰当的算法和数据结构,完成计算、统计、排序、检索、
匹配等相关的软件系统的构造、测试与实现;
掌握常用的程序调试和测试方法。
实验要求:
采用自顶向下、逐步求精的模块化设计思想设计一个小型信息库管理系统,或者闯关式游戏程序。
要求解释说明采用了什么数据结构和算法,为什么选择这种数据结构或算法,系统实现过程中遇
到了哪些问题,这些问题是如何解决的,还有什么问题尚未解决,今后打算从哪几个方面进行改
进,本设计的亮点和难点在哪里,实验结果如何,有哪些收获和学习体会;
编写程序完成以下实验大作业内容并完成实验大作业反思报告。
实验内容:
在游戏初始化界面,屏幕会显示16个方格(4*4),其中随机两个方格会出现2或4这两个数字,2与4出
现的机率比为9:1。在游戏开始后,玩家通过键盘输入a,d,w,s四个选项来控制格子中数字左移,右移,
上移,下移。当输入一个选项后,所有的数字块都会向所选择的方向靠拢,相同的数字块相撞时,会相加
合并为一个数字块,除此之外,在每做出一次选择后,程序会在空白位置随机产生一个新的数字块2或4,
2与4出现的几率之比为9:1。同时,程序会将所有相撞产生的新数字块相加,作为玩家的分数,随着每
次移动而更新。当所有数字块都被填满且相邻数字块都不相等时程序会判定为游戏结束,并显示“GAME
OVER!”字样。
实验环境:
操作系统:Win10
集成开发环境:Codeblocks17.12
外部库:无
输入输出设计:
程序的输入数据为a,d,w,s,四个英文小写字母,为字符型变量。程序的输出部分包括构成游戏的外框的图
形以及随时更新的数据,为整型变量。程序加入了对于非法输入数据的处理,在loop_Game函数的入口
处采用了switch选择控制结构,同时通过switch的选择控制结构来检查用户输入数据的有效性,当输入的
字符为除a,d,w,s之外的字符时,程序将不会改变游戏界面以及游戏分数的显示,会自动选择重新回到读
取键盘输入的部分,只有当输入字符为a,d,w,s中的一个时,程序才会继续进行后续的数字块移动以及分
数累加等操作。程序的输出部分构成4*4网格的外框形状,以及数字块中的随时更新的数字,以及在方格
上方所显示的游戏的分数,以及在游戏结束时所显示的“GANEOVER!”字样。为保证游戏的健壮性,当
方块内数字累加至超过四位数时,数字将会以科学计数法的方式显示,而不会出现乱码或者程序无法运行
等情况。
1
《C语言程序设计》实验大作业反思报告
系统设计与实现:
1.系统功能模块划分
对系统进行自顶向下的模块分解,画出系统各个功能模块之间的结构图如下:
2.函数功能和外部接口设计
本系统总计设计了13个函数,每个函数的功能和接口设计如下表所示:
序号函数名函数功能函数参数函数返回值
1read_keyboard读取键盘输入的变量无key_code
2loop_Game游戏循环
原创力文档


文档评论(0)