概要设计模版(案例).doc_第1页
概要设计模版(案例).doc_第2页
概要设计模版(案例).doc_第3页
概要设计模版(案例).doc_第4页
概要设计模版(案例).doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目名称:手机游戏模拟器之Greedy Snake项目编号: EBD00001文档编号:EBD881101PDR003 贪吃蛇游戏概要设计沈阳东软软件股份有限公司总页数正文附录生效日期编制批准沈阳东软软件股份有限公司概要设计报告 版本:0.1.0 第25页修 改 履 历修改编号日期修改人版本号修改内容12009.09.16XXXVER0.1初始做成23目 录1文档概述41.1文档目的和范围41.2术语/缩略语41.3参考文档42模块概述42.1模块功能定义42.2模块结构52.3模块动作时序63接口说明63.1数据结构定义63.2函数73.2.1模块间接口函数73.2.2模块内接口函数121 文档概述1.1 文档目的和范围该文档描述贪吃蛇游戏各模块的概要设计思想。1.2 术语/缩略语序号术语/缩略语说明1LCD液晶显示21.3 参考文档列出所参考的式样或者文档等序号文档名作者时间版本1CM12864.pdf2Lpc2114_2124_cn.pdf3Visual CHM 3.104LCD12864基础入门.chm5引脚连接、中断控制、GPIO.pdf2 模块概述1. 系统管理模块:该模块主要功能为初始化系统和游戏,启动各个任务。2. 按键任务模块:该模块的主要功能为检测按键并进行处理。3. 显示信息模块:该模块的主要功能为显示游戏界面和信息。4. 游戏任务模块:该模块主要功能为游戏初始化及游戏动作处理。2.1 模块功能定义1. 系统管理模块序号功能点功能点详细内容1系统初始化初始化游戏系统2游戏初始化初始化游戏数据, 3游戏任务创建游戏任务4游戏信息任务创建游戏信息显示任务5按钮检测任务创建按键检测任务2. 按键任务模块序号功能点功能点详细内容1按钮键值检测检测按钮键值,并将键值返回给按钮处理函数2按钮处理判断按钮检测函数返回的键值,如果是方向键判断移动方向,把键值返回给游戏任务模块处理3. 显示信息模块序号功能点功能点详细内容1显示游戏时间处理GamePlay模块提供的时间变量,显示在字符显示屏(LCD1)上2显示游戏积分在字符显示屏(LCD1)上显示游戏积分3显示游戏等级在字符显示屏(LCD1)上显示游戏等级4显示游戏欢迎界面游戏开始时,显示欢迎界面5显示游戏过程界面游戏进行时,在图形显示屏(LCD2)上显示当前地图、障碍物、贪吃蛇和食物6显示游戏结束界面游戏结束时,显示结束界面7显示游戏通关界面游戏通关时,显示通关界面4. 游戏任务模块序号功能点功能点详细内容1地图初始化设定地图边界、食物、地图中的障碍物2贪吃蛇初始化初始化贪吃蛇的速度、方向、身体、蛇头等3游戏信息初始化初始化游戏的时间、等级、积分4移动情况检测根据移动方向判断移动结果5升级检测检测游戏是否升级或通关6增加蛇身增加蛇身的长度7创造食物生成新的食物8移动蛇身移动蛇的位置9游戏升级游戏等级提升,速度增加10游戏开始/暂停根据按键情况决定游戏开始或者暂停11游戏结束结束游戏,显示结束画面2.2 模块结构以本模块为中心,画出模块间结构及模块内结构图。对于模块内细分的小模块也最好列表说明各小模块的功能。1. 系统管理模块函数名称函数类型概要说明SysInit模块外部函数调用操作系统初始化函数,LCD初始化函数,按键初始化函数,目标板初始化函数进行系统初始化2. 按键检测模块函数名称函数类型概要说明KeyProcess_TaskKey模块外部函数检测是否有按键被按下,如果被按下则返回按键的键值给按键处理函数。KeyProcess_Handle模块内部函数判断按钮检测函数返回的键值,如果是方向键则调用方向处理函数,如果是开始/暂停键则返回键值给相应的全局变量。KeyProcess_Direction模块内部函数方向键处理函数,将得到的方向键的键值返回给移动情况检测函数。3. 信息显示模块模块名称模块类型概要说明TaskInfo_TaskInfo模块外部函数调用TaskInfo_LCD1 和TaskInfo_LCD2TaskInfo_LCD1模块内部函数控制LCD1显示游戏信息TaskInfo_LCD1ShowTime模块内部函数显示游戏时间TaskInfo_LCD1ShowScore模块内部函数显示游戏得分TaskInfo_LCD1ShowLevel模块内部函数显示游戏等级TaskInfo_LCD2模块内部函数控制LCD2显示游戏界面TaskInfo_LCD2Welcome模块内部函数显示欢迎界面TaskInfo_LCD2GameIn模块内部函数显示游戏进行时的游戏界面TaskInfo_LCD2GameOver模块内部函数显示游戏结束界面TaskInfo_LCD2Succeed模块内部函数显示游戏通关界面4. 游戏任务模块函数名称函数类型概要说明GamePlay_TaskGame模块外部函数游戏任务模块的外部接口GamePlay_GameInit模块内部函数游戏初始化,包括三部分地图初始化、贪吃蛇初始化、显示信息初始化GamePlay_GameCheck模块内部函数检测游戏运行状态GamePlay_MoveCheck模块内部函数检测蛇的运动状态GamePlay_MapInit模块内部函数地图初始化GamePlay_SnakeInit模块内部函数贪吃蛇初始化GamePlay_MessageInit模块内部函数显示信息初始化GamePlay_Start模块内部函数游戏开始/暂停GamePlay_CreateBean模块内部函数生成食物GamePlay_Grow模块内部函数增长蛇身GamePlay_Move模块内部函数移动蛇身GamePlay_LevelUp模块内部函数提高等级GamePlay_GameOver模块内部函数游戏结束2.3 模块动作时序主要描述模块间动作时序图,可以直接在VISIO文件中记述(如果直接在VISIO中记述,这里说明参考XXXXXX.vsd)。3 接口说明3.1 数据结构定义1. 游戏过程的数据结构typedef struct gameinfo INT32U Time; /游戏时间 INT32U Score; /游戏分数 INT8U Level; /游戏等级INT8U State; /游戏状态GAMEINFO, *pGAMEINFO;Typedef struct pointINT8U Row;/行INT8U Column;/列POINT, *pPOINT;typedef struct snake INT8U Direction; /蛇移动的方向 INT8U Length; /蛇身体的长度 INT8U Speed; /蛇移动的速度 POINT Body20; /蛇身体节点数组 INT8U Head; /蛇头在蛇身体数组的位置SNAKE, *pSNAKE;typedef struct map INT8U Left; /地图左边界 INT8U Top; /地图上边界 INT8U Right; /地图右边界 INT8U Bottom; /地图下边界 POINT Rock40; /岩石障碍物数组POINT BEAN;/食物MAP, *pMAP;2宏定义#define KEY_UP 1/按键的状态为向上#define KEY_LEFT2/按键的状态为向左#define KEY_RIGHT3/按键的状态为向右#define KEY_BOTTOM4/按键的状态为向下#define KEY_START 5 /按键的状态为开始#define KEY_PAUSE 6 /按键的状态为暂停#define STATE_GAMEOVER0/游戏结束#define STATE_START1/游戏开始#define STATE_PAUSE2/游戏暂停#define STATE_SUCCEED3/游戏通关#define STATE_GAMEIN4/游戏进行中#define PRIO_TASKINFO1/信息任务优先级#define PRIO_TASKKEY2/键盘任务优先级#define PRIO_TASKGAME3/游戏任务优先级3.2 函数3.2.1 模块间接口函数1. 系统管理模块 SysInit函数名SysInit文件名SysInit.c功能概要系统初始化记述形式void SysInit (void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明调用操作系统初始化函数,LCD初始化函数,按键初始化函数,目标板初始化函数进行系统初始化使用注意事项在系统的最开始也就是Main模块的最开始调用此函数2. 按键检测模块KeyProcess_TaskKey函数名KeyProcess_TaskKey文件名KeyProcess.c功能概要检测是否有按键被按下,如果被按下则返回按键的键值给按键处理函数记述形式INT8U KeyProcess_TaskKey (void)参数类型变量名I/O说明void-返回值类型INT8U说明 值按键的键值详细说明检测是否有按键被按下,如果被按下则返回按键的键值给按键处理函数使用注意事项-3. 显示信息模块TaskInfo_TaskInfo函数名TaskInfo_TaskInfo文件名GameInfo.c功能概要在LCD1显示游戏信息、在LCD2上显示游戏界面记述形式void TaskInfo_Taskinfo(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明调用TaskInfo_LCD1、TaskInfo_LCD2函数使用注意事项任务接口,通过OS控制建立此任务4. 游戏任务模块Gameplay_TaskGame函数名Gameplay_TaskGame文件名GamePlay.c功能概要游戏任务模块的外部接口函数记述形式void Gameplay(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明游戏任务模块的接口函数,提供给Main模块调用使用注意事项-3.2.2 模块内接口函数1. 按键检测模块KeyProcess_Handle函数名KeyProcess_Handle文件名KeyProcess.c功能概要根据键值进行相应处理记述形式void KeyProcess_Handle (INT8U keyAspect)参数类型变量名I/O说明INT8UKeyAspect-按键的键值返回值类型void说明值-详细说明判断按钮检测函数返回的键值,如果是方向键判断移动方向,把键值返回给游戏任务模块处理使用注意事项需要先进行按键检测KeyProcess_Direction函数名KeyProcess_Direction文件名KeyProcess.c功能概要方向键处理函数,将得到的方向键的键值返回给方向控制的全局变量记述形式INT8U KeyProcess_Direction (void)参数类型变量名I/O说明void-返回值类型INT8U说明值KEY_UP按下的方向键的方向为上KEY_LEFT按下的方向键的方向为左KEY_RIGHT按下的方向键的方向为右KEY_DOWN按下的方向键的方向为下详细说明调用移动情况检测函数,方向键的键值作为移动检测函数的参数使用注意事项-2. 显示信息模块TaskInfo_LCD1函数名TaskInfo_LCD1文件名GameInfo.c功能概要在LCD1上显示游戏信息记述形式void TaskInfo_LCD1(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明调用TaskInfo_LCD1ShowTime, TaskInfo_LCD1ShowScore, TaskInfo_LCD1ShowLevel;并控制刷新LCD1使用注意事项在TaskInfo_TaskInfo任务中调用TaskInfo_LCD1ShowTime函数名TaskInfo_LCD1ShowTime文件名GameInfo.c功能概要在LCD1上显示时间记述形式void TaskInfo_LCD1ShowTime (void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明获取游戏信息中的时间使其以时分秒的形式显示在字符显示屏(LCD1)上使用注意事项注意实参为gameinfo结构体的时间变量TaskInfo_LCD1ShowScore函数名TaskInfo_LCD1ShowScore文件名GameInfo.c功能概要显示游戏分数记述形式void TaskInfo_LCD1ShowScore(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明在字符显示屏(LCD1)上显示游戏积分使用注意事项注意实参为gameinfo结构体的分数变量TaskInfo_LCD1ShowLevel函数名TaskInfo_LCD1ShowLevel文件名GameInfo.c功能概要显示游戏等级记述形式void TaskInfo_LCD1ShowLevel(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明在字符显示屏(LCD1)上显示游戏等级使用注意事项注意实参为gameinfo结构体的等级变量TaskInfo_LCD2函数名TaskInfo_LCD2文件名GameInfo.c功能概要分析传递过来的状态信息,在LCD2显示屏上,显示不同的游戏界面记述形式void TaskInfo_LCD2(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明游戏界面显示函数,通过游戏信息的状态信息,以显示游戏欢迎界面,或者游戏进行界面(其中包括暂停界面),或者游戏结束界面。使用注意事项无TaskInfo_LCD2Welcome函数名TaskInfo_LCD2Welcome文件名GameInfo.c功能概要显示欢迎界面记述形式void TaskInfo_LCD2Welcome(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明显示游戏的欢迎界面。使用注意事项本函数的调用受到传递过来的状态信息的限制TaskInfo_LCD2GameIn函数名TaskInfo_LCD2GameIn文件名GameInfo.c功能概要显示游戏进行时的游戏界面记述形式Void TaskInfo_LCD2GameIn(void)参数类型变量名I/O说明void-返回值类型void 说明值-详细说明通过全局变量的游戏中蛇,豆子,地图的坐标信息将游戏界面在LCD2中显示出来使用注意事项他的调用受到传递过来的状态信息的限制TaskInfo_LCD2GameOver函数名TaskInfo_LCD2GameOver文件名GameInfo.c功能概要显示游戏结束界面记述形式void TaskInfo_LCD2GameOver(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明显示游戏结束界面使用注意事项本函数的调用受到传递过来的状态信息的限制TaskInfo_LCD2Succeed函数名TaskInfo_LCD2Succeed文件名GameInfo.c功能概要显示游戏通关界面记述形式void TaskInfo_LCD2Succeed(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明显示游戏通关界面使用注意事项本函数的调用受到传递过来的状态信息的限制3. 游戏任务模块GamePlay_GameInit函数名GamePlay_GameInit文件名GamePlay.c功能概要游戏初始化记述形式void GamePlay_GameInit(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明游戏初始化函数,包括三部分地图初始化、贪吃蛇初始化、显示信息初始化,提供给main模块调用。使用注意事项在OSInit()、SysInit()之后调用GamePlay_MoveCheck函数名GamePlay_MoveCheck文件名GamePlay.c功能概要移动情况检测记述形式void GamePlay_MoveCheck (void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明检测蛇的运行状态,撞墙、咬到自己、吃到食物还是没吃到食物,提供给按键检测模块调用。使用注意事项四种状态分别调用不同的模块,游戏结束模块、游戏结束模块、升级检测模块和移动蛇身模块。GamePlay_GameCheck函数名GamePlay_GameCheck文件名GamePlay.c功能概要升级检测记述形式void GamePlay_GameCheck (void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明检测游戏运行状态函数,检测升级、没升级还是通关,提供给移动情况检测模块调用。使用注意事项三种情况分别调用不同的模块,游戏升级模块、增加蛇身模块、游戏结束模块。GamePlay_MapInit函数名GamePlay_MapInit文件名GamePlay.c功能概要地图初始化记述形式void GamePlay_MapInit (void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明地图初始化函数,提供给游戏初始化模块调用。使用注意事项根据游戏级别初始化,不同级别的地图不同。GamePlay_SnakeInit函数名GamePlay_SnakeInit文件名GamePlay.c功能概要贪食蛇初始化记述形式void GamePlay_SnakeInit (void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明贪食蛇初始化函数,提供给游戏初始化模块调用。使用注意事项根据级别蛇的速度不同。GamePlay_MessageInit函数名GamePlay_MessageInit文件名GamePlay.c功能概要显示信息初始化记述形式void GamePlay_MessageInit(void)参数类型变量名I/O说明void-返回值类型void说明值-详细说明显示信息初始化函数,包括游戏级别、分数、时间,提供给游戏初始化模块调用。使用注意事项初始化的信息初值都为0.GamePlay_Start函数名GamePlay_Start文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论