- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9讲EASYX
初始化模块: 图形库初始化,屏幕初始化用于显示游戏信息“贪吃蛇”;初始化游戏运行画面,包括颜色边框等;初始化蛇的数据及状态。 游戏控制模块 处理按键,各种逻辑关系 食物模块 根据逻辑生成食物 蛇模块 定时移动,增加长度,前进方向 概要设计 画图模块 根据数据和状态画出食物和蛇 退出选择模块 游戏失败时,显示用户得分,给出退出或是继续游戏选择;运行中按ESC键,给出退出选择 概要设计 逻辑流程图 概要设计 数据结构 食物的数据结构 蛇的数据结构 各模块函数定义 详细设计 模块间逻辑关系 详细设计 详细设计-算法 蛇、石头、食物的表示方法 把显示区看做一个大大的表格,里面的格子就是组成蛇的基本单位,一个格子就表示一块石头或代表一个事物。几个连在一起的格子就可以代表一条蛇。使用坐标来区分这些格子。 详细设计-算法 格子的坐标和像素坐标 由于画蛇、食物、石头我们只是填充一个矩形,或者在相应位置显示一张图片,所以我们要知道每个格子的坐标。 详细设计-算法 食物的生成 详细设计-算法 蛇的移动方向 根据原来蛇头的坐标和方向计算新蛇头的坐标,移动方向的一些限制条件。 详细设计-算法 蛇的移动方式 蛇每移动一步,可以看做蛇头增加一个节点,蛇尾删去一个节点。 详细设计-算法 蛇吃到食物 详细设计-算法 蛇吃到自己和碰墙 编码及模块测试 系统测试 测试资料 《贪吃蛇游戏设计的需求分析说明书》 《贪吃蛇游戏设计的概要设计说明书》 《贪吃蛇游戏设计的测试计划说明书》 测试计划 系统测试 测试计划 输入数据 预期的输出数据 选择输入数据策略 NewGame,让蛇吃到食物 蛇定时移动,时间以秒为单位增加,吃到食物增加10分 测试NewGame及键盘、鼠标响应事件、程序基本功能,吃到食物的判断。时间、分数计数是否正确。 NewGame,让蛇吃到自己,让蛇碰墙 蛇吃到自己,蛇碰墙游戏会结束 测试程序对蛇吃到自己和碰墙的判断 NewGame,Pause,Resume,让蛇死掉 暂停时蛇停止移动,计时器停止计时。继续时蛇从暂停的位置开始继续蛇按原来方向移动,计时器继续计时,食物的位置和暂停时一样 测试暂停和继续的功能 NewGame,Pause,Exit,NewGame,Exit 暂停,退出 显示退出选择界面 测试暂停和退出功能 用户手册 * 排序的方法与数据结构的关系 数据结构及其实现方式,将影响排序过程中元素比较时的方便性,和元素位置调整(搬移元素)的方便性 如:链表对元素位置调整带来很大方便 * 排序的方法与数据结构的关系 数据结构及其实现方式,将影响排序过程中元素比较时的方便性,和元素位置调整(搬移元素)的方便性 如:链表对元素位置调整带来很大方便 * 排序的方法与数据结构的关系 数据结构及其实现方式,将影响排序过程中元素比较时的方便性,和元素位置调整(搬移元素)的方便性 如:链表对元素位置调整带来很大方便 * 排序的方法与数据结构的关系 数据结构及其实现方式,将影响排序过程中元素比较时的方便性,和元素位置调整(搬移元素)的方便性 如:链表对元素位置调整带来很大方便 机械电子工程教研室 软件技术基础 机械电子工程教研室 School of Mechatronics Engineering 控制工程基础 仲志丹 仲志丹 Johnsonzzd@ 机械电子工程教研室 实验安排 4月20日 晚上 18:30-22:40 地点:西苑3#504 512 安排:两人一组 结果:程序代码,调试成功。 计算机软件技术基础 工程的概念 含有多个C源文件. 将一类完成一个特定任务的函数放在一个C文件中,便于管理。 再编写.H文件,声明在.C文件中实现了的函数,方便其他文件调用。 工程的概念 // C File GUI.C void GUI_DrawPiont(int x, int y) { printf(Draw Piont\n); } void GUI_DrawLine(int beginx, int beginy, int endx, int endy) { printf(Draw Line\n); } void GUI_DrawCircle(int x, int y, int radius) { printf(Draw Circle\n); } 工程的概念 // H File GUI.H #ifndef _GUI_H_ #define _GUI_H_ void GUI_DrawPiont(int x, int y); void GUI_DrawLine(int beginx, int beginy, int endx, int endy); void GUI_
文档评论(0)