欢迎来到天天文库
浏览记录
ID:10913754
大小:660.50 KB
页数:22页
时间:2018-07-08
《概要设计-基于windows系统的斗地主游戏的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于Windows系统的斗地主游戏的设计与实现概要设计总页数22正文19附录无生效日期2013-12-18编制批准22南昌航空大学东软班概要设计修改履历修改编号日期修改人版本号修改内容1VER0.1.0初始做成2322南昌航空大学东软班概要设计目录1文档概述41.1文档目的和范围41.2术语/缩略语41.3参考文档42模块概述42.1模块功能定义52.2模块结构62.3模块动作时序73接口说明83.1数据结构定义83.2函数113.2.1模块间接口函数113.2.2模块内接口函数1722南昌航空大学东软班概要设计1文档概述1.1文档目的和范围该项目模块是对基
2、于Windows系统的斗地主游戏的服务器端模块的概要设计描述,主要是描述了本模块与其他模块的接口函数和内部函数的定义,与其模块的结构图和本模块的功能描述与时序图的记述,并为后期详细设计、测试提供依据。1.2术语/缩略语序号术语/缩略语说明1MFCMicrosoftFoundationClasses,微软基础类2DirectXDirecteXtension,简称DX,是由微软公司创建的多媒体编程接口1.3参考文档序号文档名作者时间版本1VisualC++游戏编程基础荣钦科技2005.5第一版2VisualC++范例大全孙皓2模块概述服务器端模块主要是创建服务器
3、,实现登录、接收客户端数据、传送牌数据结构给地主、决定地主、判断玩家出牌的正确性、判断结束并判定胜负、积分计算等。客户端模块主要是连接服务器,接收牌、决定要不要当地主、决定要出的牌等。DirectX显示模块主要是实现画牌、发牌、移动牌、画各个玩家出牌、移动各个玩家新出的牌到已出牌区。DirectX输入模块主要是完成键盘的初始化、鼠标的初始化。22南昌航空大学东软班概要设计网络连接模块主要是完成Socket通信功能,主要有创建socket、绑定、监听、接受客户信息、连接、发送数据、接收数据。1.1模块功能定义序号功能点功能点详细内容1创建服务器为斗地主游戏提供
4、一个网络环境。2用户登录用户自己的账户(由任意大于等于1个且不超过6个的字符组成)当帐户没有输入就进入游戏时提示“您还没有输入名字,请输入您的名字”,当输入的名字大于6个字符时,超过6个字符的不再显示3发牌一副牌54张,一人17张,留3张做底牌,在确定地主之前玩家不能看底牌。并且牌型按照牌的大小进行排序。4随机生成初始在发玩牌后,服务器先随机产生一名初始地主。先由该地主决定要不要当地主。5决定地主在初始地主产生后,初始地主先决定要不要当地主,如果当地主,则向其他两位玩家发送要当地主消息,如选择不当地主则由下一位玩家选择,若三位玩家都选择不当地主,则最终由初始
5、产生的随机地主当地主。6出牌将三张底牌交给地主,并亮出底牌让所有人都能看到。地主首先出牌,然后按逆时针顺序依次出牌,轮到用户跟牌时,用户可以选择“不出”或出比上一个玩家大的牌。某一玩家出完牌时结束本盘。7判断结束并判定胜负任意一家出完牌后结束游戏,若是地主先出完牌则地主胜,否则另外两家胜。8积分计算每个用户最初都有50积分,每局不加倍的情况下为1个积分,最后积分=1*倍数,若没加倍*19音乐提示在游戏进行时播放相应的背景音乐。10退出当没有积分或者不愿意玩时,退出游戏。22南昌航空大学东软班概要设计1.1模块结构图1功能模块图22南昌航空大学东软班概要设计图
6、2类图类名模块类型概要说明CGame类游戏主体框架类CDlg_Start类游戏登陆开始类CLink类网络通信类CCardPos类扑克的位置类CCardsMap类扑克牌布局地图结构类CDrawCardsEngine类画牌引擎类CDrawItemEngine类画整个游戏界面引擎类CMyDirectDraw类加载图像引擎类CMyDirectInput类加载设备接口类CCard类纸牌类CPlayingCards类出牌类CServerGame类服务器端游戏对战类CClientGame类客户端游戏对战类CCardsType类牌型数据结构类CPlayerInfo类玩家信息
7、类22南昌航空大学东软班概要设计1.1模块动作时序图3模块动作时序图2接口说明2.1数据结构定义//主窗口句柄externHWNDhWnd;classCMainFrame;//主窗口类指针;设为全局变量便于各个类访问其方法externCMainFrame*pCMainFrame;//关于Direct设备的类22南昌航空大学东软班概要设计//DirectInput设备接口指针classCMyDirectInput;externCMyDirectInput*pInput;//DirectDraw设备接口指针classCMyDirectDraw;externCMy
8、DirectDraw*pDraw;externLPD
此文档下载收益归作者所有