04.概要设计-基于ARM俄罗斯方块联机游戏设计_第1页
04.概要设计-基于ARM俄罗斯方块联机游戏设计_第2页
04.概要设计-基于ARM俄罗斯方块联机游戏设计_第3页
04.概要设计-基于ARM俄罗斯方块联机游戏设计_第4页
04.概要设计-基于ARM俄罗斯方块联机游戏设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

基于 ARM 俄罗斯方块联机游戏设计概要设计总页数 21 正文 18 附录 生效日期 2013.12.16编制 批准南昌航空大学东软班 概要设计2修 改 履 历修改编号 日期 修改人 版本号 修改内容1 VER0.1.0 初始做成2 VER0.1.1 修改数据结构体定义,修改函数3 VER1.0.0 部分错误字体及格式修正南昌航空大学东软班 概要设计3目 录1 文档概述 .41.1 文档目的和范围 .41.2 术语/缩略语 .41.3 参考文档 .42 模块概述 .42.1 模块功能定义 .42.1.1 客户端功能定义 .42.1.2 服务器端功能定义 .52.2 模块结构 .52.2.1 客户端各模块之间的接口结构图 .52.2.2 服务器端各模块之间的接口结构图 .62.3 模块动作时序 .73 接口说明 .83.1 数据结构定义 .83.1.1 枚举类型定义 .83.1.2 应用层通信协议 .93.2 函数 .103.2.1 模块间接口函数 .103.2.2 模块内接口函数 .19南昌航空大学东软班 概要设计41 文档概述1.1 文档目的和范围该文档主要完成基于 ARM 下联机游戏的设计与实现的概要设计,主要描述各个模块间接口函数的调用关系,结构图,时序图,数据结构的定义,以及接口函数和内部接口函数的定义。1.2 术语 /缩略语序号 术语/缩略语 说明1 C/S 架构 客户端/服务端1.3 参考文档序号 文档名 作者 时间 版本1 需求分析报告书_胡东文 胡东文2 模块概述总体分为两个功能模块,客户端模块和服务端模块,实现两个模块间的通信2.1 模块功能定义2.1.1 客户端功能定义表 1. 客户端功能定义序号 功能点 功能点详细内容1 用户注册 通过注册获得账号。点击注册按钮完成用户注册2 用户登录 通过已注册的账号进行登录,连接到服务端3 举手游戏 点击举手按钮发送信息给服务端加入此游戏并等待第二个玩家举手加入才开始游戏南昌航空大学东软班 概要设计54 暂停游戏 点击暂停游戏按钮双方都暂停游戏5 释放技能给对方 点击不同技能释放图标可使对方产生各种状态6 退出游戏 退出到游戏开始的界面,并默认认输此盘游戏2.1.2 服务器端功能定义表 2. 服务端功能定义序号 功能点 功能点详细内容1 数据库管理模块 存储用户信息,更改用户信息2 接收数据 接收客户端发个过来的请求3 发送数据 将处理好的数据,发送给客户端2.2 模块结构2.2.1 客户端各模块之间的接口结构图C l i e n t L o g i cG U I客户端通信层s e n d R e q u e s tL o g i n Re q u e s t. e x eR e g i s t e r Re q u e s tH a n d s U pR e q u e s ts h o w M e s s a g es e n d R e q u e s t构造 U I构造C l i e n t L o g ic构造客户端通信层外部接口函数 内部接口函数 U I 模块 客户端逻辑模块客户端通信模块P a u s e G a me R e q u e s tR e l e a s e S ki l l s R e q u e stQ u i t G a m eR e q u e s tr e c e i v e R e p l yr e c e i v e R e p l yG a m e E n dR e q u e s t图 1.客户端各模块间接口结构图南昌航空大学东软班 概要设计62.2.2 服务器端各模块之间的接口结构图. e x e服务器通信层S e r v e r L o g i c数据库管理模块I n i t D B构造服务器通信端构造服务器逻辑层s e n d R e q u e s t r e c e i v e R e p l yr e c e i v e R e p l ys e n d R e q u e s ta d d P l a y e rT o D Bc h e c k L og i n I n fa l t e r P l a y er G r a d eq u i t G a me外部接口函数 内部接口函数服务器逻辑模块服务器通信模块数据库管理模块图 2.服务器各模块间接口结构图2.3 模块动作时序C l i e n t . e x eU I C l i e n t L o g i cC l i e n t T r a n s l a t e S e r v e r T r a n s l a t e S e r v e r L o g i c D a t a B a s e S e r v e r . e x en e w C l i e n t L o g i cn e w C l i e n t T r a n s l a t en e w L o g i n D l gs e n d M e s s a g e ( R E G I S T E R _ R E Q U E S T )n e w S e r v e r L o g i cn e w S e r v e r T r a n s l a t e( 数据传输 )r e c e i v e M e s s a g e ( R E G I S T E R _ R E Q U E S T )n e w R e g i s t e r D l gR e g i s t e r R e q u e s ta d d P l a y e r T o D Bs e n d M e s s a g e ( R E G I S T E R _ R E P L Y )r e c e i v e M e s s a g e ( R E G I S T E R _ R E P L Y )s h o w M e s s a g e ( R E G I S T E R _ R E Q U E S T )注册关闭 R e g i s t e r D l g , 回到 L o g i n D l gO n L i n e R e q u e s ts e n d M e s s a g e ( O N L I N E _ R E Q U E S T数据传输r e c e i v e M e s s a g e ( O N L I N E _ R E Q U E S T )c h e c k P l a y e r I n D B登录s e n d M e s s a g e ( O N L I N E _ R E P L Y )数据传输数据传输r e c e i v e M e s s a g e ( O N L I N E _ R E P L Y )s h o w M e s s a g e ( O N L I N E _ R E P L Y )U p H a n d s R e q u e s t / P a u s e G a m e R e q u e s t / R e l e a s e S k i l l s R e q u e s ts e n d M e s s a g e ( U P H A N D S _ R E Q U E S T / P A U S E G A M E _ R E Q U E S T / R E L E A S E S K I L L S _ R E Q U E S T )数据传输r e c e i v e M e s s a g e ( U P H A N D S _ R E Q U E S T / P A U S E G A M E _ R E Q U E S T / R E L E A S E S K I L L S _ R E Q U E S T )s e n d M e s s a g e ( U P H A N D S _ R E Q U E S T / P A U S E G A M E _ R E Q U E S T / R E L E A S E S K I L L S _ R E Q U E S T )数据传输r e c e i v e M e s s a g e ( U P H A N D S _ R E Q U E S T / P A U S E G A M E _ R E Q U E S T / R E L E A S E S K I L L S _ R E Q U E S T )s h o w M e s s a g e ( U P H A N D S _ R E Q U E S T / P A U S E G A M E _ R E Q U E S T / R E L E A S E S K I L L S _ R E Q U E S T )退出游戏O f f L i n e R e q u e s ts e n d M e s s a g e ( O F F L I N E _ R E Q U E S T )数据传输r e c e i v e M e s s a g e ( O F F L I N E _ R E Q U E S T )q u i t G a m e / U p d a t e G r a d es e n d M e s s a g e ( O F F L I N E _ R E P L Y )将下线信息发送给其他在线用户游戏图 3.模块动作时序图3 接口说明3.1 数据结构定义3.1.1 枚举类型定义enum /客户端请求类型南昌航空大学东软班 概要设计7ONLINE_REQUEST = 1, /登录REGISTER_REQUEST = 2, /注册UPHANDS_REQUEST = 3, / 举手PAUSEGAME_REQUEST = 4, /暂停游戏REALEASESKILLS_REQUEST = 5, /释放技能GAMEEND_REQUEST = 6, /游戏结束OFFLINE_REQUEST = 7 /退出游戏;enum /服务器返回类型ONLINE_SUCCESSED = 11, /登录成功ONLINE_NO_ACCOUNT = 12, /该账号用户不存在ONLINE_WRONG_PSW = 13, /密码输入错误REGISTER_SUCCESSED = 21, /注册成功UPHANDS_REPLY =32, /举手成功回复PAUSEGAME = 32, /对方请求暂停游戏EAT_SKILLS = 33, /吃对方释放的技能GAME_END_REPLY = 34, /游戏结束结果OFFLINE_REPLY = 35, /退出游戏回复SUCCESSED = 71,FAILED = 81 ;enum /当前用户游戏结果WIN = 91, /赢LOSE = 92 /输enum /游戏状态GAME_PAUSE = 101, /暂停GAME_RUN = 102; /运行enum /游戏技能 IDGAME_SKILL_BREAK_SCREEN = 111, /打破对方屏幕,让对方看不清游戏界面 3 秒南昌航空大学东软班 概要设计8GAME_SKILL_SPEED_UP = 112, /让对方游戏速度达到极速 5 秒GAME_SKILL_UP_ONE_LAYER = 113, /让对方上升一层GAME_SKILL_CLEAN_UP_STATUS = 114,/净化自己一切负面效果GAME_NO_SKILL = 115, /没有技能3.1.2 应用层通信协议struct LoginInfo /上线QString account; /账号QString password; /密码;struct UserInfo /用户信息(注册,个人信息修改)QString account; /帐号QString username; /用户名QString password; /密码int win; /赢数int lose; /输数int grade; /总得分int status; /在线状态;struct GameUsers /游戏双方帐号信息QString accountSender;QString accountReceiver;struct GameInfo /当前游戏信息GameUsers gameUsers; /账号int gameStatus; /游戏状态(暂停/运行)int gameSkill; /发送者游戏技能PointInfo point; /发送者俄罗斯方块信息;struct EndGame /游戏结束南昌航空大学东软班 概要设计9QString myAccount; /当前用户的账号int game_result; /游戏结果(WIN/LOSE)int game_grade; /游戏分数;struct Information int requestKind; /请求类型QString senderAcount; /发送者帐号LoginInfo loginInfo; /登录信息UserInfo userInfo; /发送者用户信息GameUsers gameUsers; /双方游戏帐号信息GameInfo gameInfo; /发送者游戏信息EndGame endGame; /结束游戏时发生者成绩;3.2 函数3.2.1 模块间接口函数3.2.1.1showMessage函数名 showMessage文件名 ./GameDlg功能概要 将信息按条件显示在界面中记述形式 void showMessage(const GameInfo& gameInfo)参数类型 变量名 I/O 说明const GameInfo& gameInfo I 游戏方块等级分数等信息返回值 类型 void 说明详细说明将客户端逻辑层更新的数据按条件显示在界面上使用注意事项南昌航空大学东软班 概要设计10无3.2.1.2 LoginRequest函数名 LoginRequest文件名 ./ClientLogic功能概要 获得客户端登录请求记述形式 void LoginRequest(const LoginInfo 参数类型 变量名 I/O 说明const LoginInfo& loginInfo I 游戏登录信息返回值 类型 void 说明详细说明获得客户端登录请求使用注意事项无3.2.1.3 RegisterRequest函数名 RegisterRequest文件名 ./ClientLogic功能概要 获得客户端注册请求记述形式 void RegisterRequest(const UserInfo& user)参数类型 变量名 I/O 说明const UserInfo& user I 游戏注册时玩家信息返回值 类型 void 说明详细说明获得客户端注册请求使用注意事项无南昌航空大学东软班 概要设计113.2.1.4 QuitGameRequest函数名 QuitGameRequest文件名 ./ClientLogic功能概要 获得客户端下线(退出游戏) 请求记述形式 void QuitGameRequest(const QString& account)参数类型 变量名 I/O 说明const QString& account I 退出游戏的帐号信息返回值 类型 void 说明详细说明获得客户端下线请求使用注意事项无3.2.1.5HandsUpRequest函数名 HandsUpRequest文件名 ./ClientLogic功能概要 举手请求记述形式 void HandsUpRequest(const QString& account)参数类型 变量名 I/O 说明const QString& account I 对方玩家的帐号信息,由服务器向该玩家发送举手请求返回值 类型 void 说明详细说明举手请求使用注意事项无南昌航空大学东软班 概要设计123.2.1.6PauseGameRequest函数名 PauseGameRequest文件名 ./ClientLogic功能概要 暂停游戏请求记述形式 void PauseGameRequest(const QString& account)参数类型 变量名 I/O 说明const QString& account I 对方玩家的帐号信息,由服务器向该玩家发送暂停游戏请求返回值 类型 void 说明详细说明暂停游戏请求使用注意事项无3.2.1.7ReleaseSkillsRequest函数名 ReleaseSkillsRequest文件名 ./ClientLogic功能概要 释放技能请求记述形式 void ReleaseSkillsRequest(int skillNum, const QString& account)参数类型 变量名 I/O 说明int skillNum I 技能编号const QString& account I 对方玩家的帐号信息,由服务器向该玩家发送该技能请求返回值 类型 void 说明详细说明释放技能请求使用注意事项南昌航空大学东软班 概要设计13无3.2.1.8GameEndRequest函数名 GameEndRequest文件名 ./ClientLogic功能概要 游戏结束发送的请求记述形式 void GameEndRequest(const EndGame& endGame)参数类型 变量名 I/O 说明const EndGame& endGame I 游戏结束结果统计信息返回值 类型 void 说明详细说明游戏结束发送的请求使用注意事项无3.2.1.9receiveReply函数名 receiveReply文件名 ./ClientLogic功能概要 接收并处理客户端通信层接收到的数据记述形式 void receiveReply(const Information& info)参数类型 变量名 I/O 说明const Information& info I 通信协议和内容返回值 类型 void 说明详细说明接收并处理客户端通信层接收到的数据使用注意事项无南昌航空大学东软班 概要设计143.2.1.10 sendRequest函数名 sendRequest文件名 ./ClientTranslate功能概要 将客户端请求发送给服务器记述形式 void sendRequest(const Information& info)参数类型 变量名 I/O 说明const Information& info I 通信协议和内容返回值 类型 void 说明详细说明将客户端请求发送给服务器使用注意事项无3.2.1.11 receiveRequest函数名 receiveRequest文件名 ./ServerLogic功能概要 接收并处理从服务器逻辑层接收到的数据记述形式 void receiveRequest(const Information& info)参数类型 变量名 I/O 说明const Information& info I 通信协议和内容返回值 类型 void 说明详细说明接收并处理从服务器逻辑层接收到的数据使用注意事项无南昌航空大学东软班 概要设计153.2.1.12 sendReply函数名 sendReply文件名 ./ServerTranslate功能概要 将服务器逻辑层处理后的信息发送给客户端记述形式 void sendReply( const Information& info) 参数类型 变量名 I/O 说明const Information& info I 通信协议和内容返回值 类型 void 说明详细说明将服务器逻辑层处理后的信息发送给客户端使用注意事项无3.2.1.13 InitDB函数名 InitDB文件名 ./database功能概要 初始化数据库记述形式 void InitDB()参数类型 变量名 I/O 说明void - - -返回值 类型 void 说明详细说明初始化数据库使用注意事项无南昌航空大学东软班 概要设计163.2.1.14 addPlayerToDB函数名 addPlayerToDB文件名 ./database功能概要 将用户注册的信息写入数据库记述形式 qint32 addPlayerToDB(const UserInfo& userInfo)参数类型 变量名 I/O 说明const UserInfo& userInfo I 玩家注册信息类型 qint32 说明REGISTER_SUCCESSED 注册成功返回值值REGISTER_FAILED 注册失败详细说明将用户注册的信息写入数据库使用注意事项无3.2.1.15 checkLoginInf函数名 checkLoginInf文件名 ./database功能概要 检测该用户是否已登录,该用户是否已注册,若登录成功则返回一个在线用户列表记述形式 qint32 checkLoginInf(const QString &account,vector& infoList) ;参数类型 变量名 I/O 说明Qstring account I 检测的帐号信息vector& infoList O 在线用户列表类型 qint32 说明ONLINE_SUCCESSED 上线成功ONLINE_EXIST 该用户已登录返回值值ONLINE_NO_ACCOUNT 该账号未注册南昌航空大学东软班 概要设计17详细说明检测该用户是否已登录,该用户是否已注册,若登录成功则返回一个在线用户列表使用注意事项无3.2.1.16 alterPlayerGrade函数名 alterPlayerGrade文件名 ./database功能概要 更新用户成绩记述形式 qint32 alterPlayerGrade(const GameResult &result)参数类型 变量名 I/O 说明const GameResult& result I 游戏信息结果类型 qint32 说明SUCCESSED 修改成功返回值值FAILED 修改失败详细说明更新用户成绩使用注意事项无3.2.1.17 quitGame函数名 quitGame 文件名 ./database功能概要 用户下线

温馨提示

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

最新文档

评论

0/150

提交评论