C语言大作业报告——贪吃蛇游戏.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

2455988618 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档