五子棋的网络对战功能课程设计.doc

上传人:土8路 文档编号:9977966 上传时间:2021-04-08 格式:DOC 页数:35 大小:4.22MB
返回 下载 相关 举报
五子棋的网络对战功能课程设计.doc_第1页
第1页 / 共35页
五子棋的网络对战功能课程设计.doc_第2页
第2页 / 共35页
五子棋的网络对战功能课程设计.doc_第3页
第3页 / 共35页
五子棋的网络对战功能课程设计.doc_第4页
第4页 / 共35页
五子棋的网络对战功能课程设计.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《五子棋的网络对战功能课程设计.doc》由会员分享,可在线阅读,更多相关《五子棋的网络对战功能课程设计.doc(35页珍藏版)》请在三一文库上搜索。

1、暑假生产实习报告书专 业: 计算机科学与技术 班 级: 090411 学生姓名: 左胜平 学号: 09041109 指导教师: 艾菊梅 2011年8月5号目录1.需求分析71.1目标71.2 用户特点71.2.1 系统结构层次模块图72.概要设计82.1服务器管理模块设计82.1.1 功能描述82.1.2 功能界面说明82.1.3 操作效果图82.1.4 界面操作说明82.1.5 服务器工作原理82.1.6 流程图82.2用户登录注册管理模块设计92.2.1 功能描述92.2.2功能界面说明92.2.3 操作效果图92.2.4 流程图102.3 用户列表模块设计112.3.1 功能描述112.

2、3.2 功能界面说明112.3.3 操作效果图112.3.4 流程图122.4网络聊天模块设计132.4.1 功能描述132.4.2 功能界面说明132.4.3 操作效果图132.4.4 流程图142.5对战棋盘模块设计152.5.1 功能描述152.5.2 功能界面说明152.5.3 操作效果图152.5.4 流程图173.详细设计183.1登录模块183.1.1模块运行流程图183.1.2登录模块功能分解表183.1.3登录模块与数据传输模块公共接口193.2注册模块193.2.1模块流程图193.2.2注册模块功能分解表203.2.3注册模块与数据传输接口213.3用户列表模块213.3

3、.1模块运行流程图213.3.2用户列表模块功能分解表223.3.3用户列表模块与数据传输模块接口233.4用户对战模块233.4.1模块运行流程图233.4.2对战模块功能分解表243.4.3对战模块与数据传输模块接口图253.5数据传输模块263.5.1模块流程图263.5.2数据传输模块功能分解表263.5.3数据传输模块对外提供接口273.6服务端数据处理模块273.6.1模块流程图1(登录,注册,用户列表信息处理模块)273.6.2服务端数据模块功能分解表1283.6.3服务端数据模块与数据传输模块接口1293.6.4模块流程图2(对战信息处理模块)293.6.5服务端数据模块功能分

4、解表2303.6.6服务端数据模块与数据传输模块接口2303.7数据描述表314 显示效果334.1用户登录界面334.2用户注册界面344.3用户列表界面354.4对战界面364.5 聊天界面374.6 服务器端界面375 总结371.需求分析1.1目标 该系统属于游戏开发项目,其主要是实现五子棋的网络对战功能,即玩家可以通过网络的方式实现对战,其模式类似与QQ游戏,通过帐号密码登录,列出在线列表框,点击玩家进行五子棋对战。1.2 用户特点1.2.1 系统结构层次模块图图表 01总体组织架构2.概要设计2.1服务器管理模块设计2.1.1 功能描述该系统主要实现网络通信下的操作,通过网络传输实

5、现五子棋对战,判断用户落子后的输赢情况。2.1.2 功能界面说明 启动界面:通过点击启动按钮,启动服务器。2.1.3 操作效果图图 2-1服务器启动操作效果图2.1.4 界面操作说明点击启动按钮即可启动服务器。2.1.5 服务器工作原理服务器通过TCP/IP协议的通讯,创建一个SOCKET,开启系统的一个端口用于网络传输,默认的端口号为5000。服务器首先获取本机的IP,然后开启端口,通过监听端口判断是否有连接信息传入,如果发现则与客户端进行连接,再通过操作信息的发送接收来响应并处理消息。五子棋的规则判断也是服务器的主要功能之一。2.1.6 流程图图 2-2用户服务器工作简要流程图2.2用户登

6、录注册管理模块设计 2.2.1 功能描述输入正确的用户名及密码登录游戏并进入用户列表界面。点击注册进行用户注册操作。2.2.2功能界面说明登录:输入用户名密码点击登录进行游戏。注册:输入用户名,昵称,2次密码,符合要求后注册完成。2.2.3 操作效果图图 2-3 登录界面效果图图 2-4 注册界面效果图2.2.4 流程图图 2-5登录注册界面简要流程图2.3 用户列表模块设计2.3.1 功能描述本模块用于显示用户的在线状态,以及对邀请对战、邀请聊天,查看信息等操作。2.3.2 功能界面说明右键:点击人物头像,弹出操作对话框,点击相应条目进行操作。左键:双击人物头像,弹出聊天窗口进行聊天。2.3

7、.3 操作效果图图 2-6用户列表效果图2.3.4 流程图图 2-7用户列表管理简要流程图2.4网络聊天模块设计2.4.1 功能描述通过用户列表的左键双击响应,弹出聊天窗口,输入聊天内容点击发送进行聊天。2.4.2 功能界面说明发送:在聊天框内输入内容点击发送键进行信息发送。回复:双击聊天内容显示框的某人的信息就可以实现与某人的对话回复。2.4.3 操作效果图图 2-8聊天窗口效果图 2.4.4 流程图图 2-9聊天传输简要流程图2.5对战棋盘模块设计2.5.1 功能描述五子棋对战主界面,棋盘位于本界面,实现的功能主要是玩家落子信息的记录,传入服务器端进行处理。2.5.2 功能界面说明准备:进

8、入对战后的双方需要点击准备,双方都准备后,游戏开始。信息显示:显示玩家落子的区域,以及玩家棋子的颜色。2.5.3 操作效果图图 2-10五子棋对战效果图2.5.4 流程图图 2-11五子棋对战简要流程图3.详细设计3.1登录模块3.1.1模块运行流程图图 3-1登录界面详细流程图3.1.2登录模块功能分解表逻辑处理层:数据序号制审日表核期处理方法名类型处理说明判断用户名密码是否为空Bool IsUserInfoNull(long lUserID,string pwd)判读登录是否成功Bool IsLoginSuccess(long lFlag)根据传入标志lFlag,0表示登录失败,1表示登录

9、成功3.1.3登录模块与数据传输模块公共接口3.2注册模块3.2.1模块流程图图 3-2注册界面详细流程图3.2.2注册模块功能分解表逻辑处理层:数据序号制审日表核期处理方法名类型处理说明判断输入信息是否有空Bool IsUserInfoNull(long id,string name,string pwd)判读用户昵称格式是否正确Bool ChecNameFormat(string name)判断用户名里面是否有一些禁止用户输入的特殊标志判断两次输入的密码是否相同Bool CheckUserPwd(string pwdfst,string pwdsnd)判断册是否成功Bool IsRegis

10、teSuccess(long lFlag)根据传入标志lFlag,0表示注册失败,1表示注册成功3.2.3注册模块与数据传输接口3.3用户列表模块3.3.1模块运行流程图图 3-3用户列表详细流程图3.3.2用户列表模块功能分解表逻辑处理层:数据序号制审日 表核期处理方法名类型处理说明判断用户是否空闲私有Bool CheckUserState(long id)根据id在本地用户列表中查找对应的用户状态,判断是否空闲初始化成员列表私有Bool InitUserList(char* nameList)从nameList中根据间隔标志,提取出一个个用户信息,插入用户列表判断对方是否同意对战私有Boo

11、l CheckEnemyAnswer(bool bFlag)3.3.3用户列表模块与数据传输模块接口3.4用户对战模块3.4.1模块运行流程图图 3-4对战界面详细流程图3.4.2对战模块功能分解表逻辑处理层:数据序号制审日表核期处理方法名类型处理说明初始化棋盘信息Bool InitMapInfo()将棋盘上的下子位置清0将屏幕坐标转化成棋盘位置Void ScreenToMapPos(int& x,int& y)将传入的屏幕的(x,y)坐标转化成棋盘上的行,列值判断当前位置是否可以下Bool CheckPosState(int row,int col)放置棋子Void SetGridPos(i

12、nt row,int col,int color)根据row,col,将棋盘上该位置设置为颜色为color的棋子将对方上次落子位置清0Void InitEnemyLastPos()根据对方最后一步落子位置,将该位置的color清03.4.3对战模块与数据传输模块接口图3.5数据传输模块3.5.1模块流程图该传输流程既可以用户于客户端向服务器发送数据,也可以用于服务器向客户端发送数据,图 3-5服务器数据传输详细流程图3.5.2数据传输模块功能分解表数据序号制审日表核期处理方法名类型处理说明组装数据包Void CreateDataPackage(int nType,char* param,cha

13、r* dataBuf)发送数据包Bool SendDataPackage( char* sendBuf)接受数据包Bool RecvDataPackage( char* recvBuf)解析数据包Bool AnalysisDataPackage( char* dataBuf,int& nType,char* param)3.5.3数据传输模块对外提供接口3.6服务端数据处理模块3.6.1模块流程图1(登录,注册,用户列表信息处理模块)图 3-6服务器对登录、注册、列表数据处理详细流程图3.6.2服务端数据模块功能分解表1数据序号制审日表核期处理方法名类型处理说明判端用户是否存在Bool IsU

14、serExist(long id)通过用户的id在数据库中检索是否有该用户的记录将用户信息插入数据表Bool IsertUserInfo(long id,string name,string pwd,)取得数据库中所有在线的用户名Void GetUserList(char* buf)通过检索数据库,将用户名序列以一定的格式存入buf中返回3.6.3服务端数据模块与数据传输模块接口13.6.4模块流程图2(对战信息处理模块)图 3-7服务器对对战数据处理详细流程图3.6.5服务端数据模块功能分解表2数据序号制审日表核期处理方法名类型处理说明判断双方是否都准备好Bool IsPlayersRead

15、y()设置玩家下子位置Void PutDownGrid(int row,int col)更新数库中玩家积分Bool UpdateUserScore(long id,int score)将对方上次落子位置清0Void InitEnemyLastPos()根据对方最后一步落子位置,将该位置的color清0初始化棋盘状态Bool InitMapInfo()3.6.6服务端数据模块与数据传输模块接口23.7数据描述表序号名称制表审核日期数据说明:Class CUserprivate: long m_lID; /表示玩家ID bool m_bColor;/表示玩家颜色 bool m_bBusy;/表示用

16、户状态Class CGridMapprivate: int m_nID; /表示棋盘编号 bool m_bEmpty; /表示棋盘当前有无玩家int m_Grid1515;/表示一个15x15的棋盘int m_nlastRow;/表示棋盘上最后一次落子的行号int m_nlastCol;/表示棋盘上最后一次落子的列号数据项说明:Class CUser中bool m_bColor;为1时表示玩家为黑方,为0时表示玩家为白方bool m_bBusy; 为1时表示玩家处于对战状态,为0时表示玩家处于空闲 状态Class CGridMap中m_Grid1515数组中,0表示当前位置未落子,1表示当前位置为黑子,2表示当前位置为白子。4 显示效果4.1用户登录界面说明: 本界面是用户登录游戏的入口。4.2用户注册界面说明:本界面是用户注册帐号的入口。4.3用户列表界面说明:本界面是邀请玩家对战,聊天的主界面。4.4对战界面说明:本界面是五子棋游戏对战的主界面。4.5 聊天界面说明:本界面是玩家与玩家之间进行通信的界面。4.6 服务器端界面说明:本界面是启动服务器开启传输功能的界面。5 总结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1