五子棋概要设计说明书.doc_第1页
五子棋概要设计说明书.doc_第2页
五子棋概要设计说明书.doc_第3页
五子棋概要设计说明书.doc_第4页
五子棋概要设计说明书.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

多功能五子棋的设计与实现概要设计说明书开发团队:FlyingWe are flying, but not flies!目录1 引言31.1编写目的31.2背景31.3定义31.4参考资料42 总体设计52.1需求规定52.2运行环境62.3软件基本处理流程62.4软件控制结构82.5功能需求与程序的关系92.6人工处理过程92.7尚未解决的问题93 系统数据结构设计114 系统出错处理设计12flying团队 多功能五子棋的设计与实现 概要设计说明书1 引言1.1编写目的本文档是多功能五子棋的设计与实现(以下简称“本项目”)的概要设计说明书,为本项目的详细设计提供主要依据。本文档描述系统在功能上的主要设计和思想;预先估计以后系统可能达到的目标。本文档的预期读者为本项目的开发人员。1.2背景本项目所开发的软件系统全称为“多功能五子棋游戏”。本项目为高级软件工程课程大作业选题,由项目客户(姜明老师)提出并由Flying团队组织开发,本项目开发主要目的为学习并熟悉软件工程项目开发流程,本项目的预期用户是中国科学技术大学软件学院软件工程专业06级(硕)嵌入式系统设计专业方向所有五子棋游戏爱好者。本项目所开发游戏软件拟在Windows98及以上版本操作系统下运行,拟基于C/S架构提供网络对弈(二人对弈)模式在小型局域网运行。1.3定义本系统可能用到的专门术语的定义见表1.1。表1.1 系统专门术语定义专用术语定义系统多功能五子棋的设计与实现子系统、模块功能上相对独立的组件人机对弈玩家与计算机对弈人工智能智能机器所执行的通常与人类智能有关的功能五连在横线,纵线或斜线上,五个同色棋子连续排列的棋形四连两端没有对方的棋子阻拦的“四”冲四一段有对方的棋子阻拦的“四”活三加上一子就能成为活四的“三”活四两头都没有黑子并且没有靠边的连续四子四四一子落下同时形成两个“四”的棋形三三一子落下同时形成了两个“活三”的棋形四三一子落下同时形成了一个“四”和一个“三”1.4参考资料1 GB856788. 概要设计说明书.2 王志新. 五子棋实战技巧. 江苏科学技术出版社, 2002. 3 中国五子棋网. /2 总体设计2.1需求规定系统需求规定见表2.1。表2.1 系统需求规定需求项目输入处理输出胜负判定当前棋局从各个方向搜索黑白连珠个数若连珠个数大于等于5,则输出胜负已分;否则,输出胜负未分计算机下棋当前棋局难易程度计算黑白棋在各空位置下棋时的棋局评分 棋局评分最高的空位置难易程度选择用户选择的难易程度置系统难易程度变量为相应值,计算机下棋时,用此变量表示棋局评分精度无悔棋当前棋局堆栈变量S更新棋局,S压栈更新棋局显示无撤销悔棋当前棋局堆栈变量S更新棋局,S弹栈更棋局新显示无交换角色当前棋局当前下棋者交换棋局中黑白棋交换当前下棋者更新棋局显示无保存棋局当前棋局保存当前棋局到文件棋局文件打开棋局棋局文件读取棋局文件到棋局棋局网上对弈对方发送的下棋数据包读取、解析下棋数据包更新相应数据结构更新棋局显示发送下棋者下棋后封装的下棋数据包下棋数据封装后的下棋数据包文字聊天对方发送的文字数据包读取、解析文字数据包更新文字显示输入文字封装后的文字数据包扫描服务器IP范围扫描器线程数读取输入IP计算各线程IP范围启动多线程扫描已打开本系统端口的服务器列表2.2运行环境硬件环境 CPU:Intel x86 200Mhz以上,或其他处理器 内存:32MB 以上 显卡:标准VGA 256色显示模式以上 分辨率:1024768其他:声卡 软件环境 操作系统:Win98/2000/XP或更高版本2.3软件基本处理流程软件基本处理流程见图2.1。图2.1 软件基本处理流程软件首先执行初始化,然后由用户选择对弈模式:人机对弈或网络对弈(人人对弈)。默认情况下为人机对弈。在人机对弈模式中,首先初始化人机对弈数据结构,然后进入下棋主循环。在主循环中,玩家下棋后,软件调用胜负判定函数判定当前棋局是否有胜负出现。若有,则输出胜负信息,并询问玩家是否重新开局;若无,则执行计算机下棋函数,进行计算机下棋。下棋后,再次调用胜负判定函数判定当前棋局是否有胜负出现。如此循环下去。在网络对弈模式中,首先初始化网络对弈数据结构,然后由用户选择网络模式:服务器或客户机。若选择服务器,则建立一个服务器socket在后台监听,等待客户机连接。若由客户机请求连接且已准备好,则响应连接并向客户机发送已连接好的消息。客户机接到此消息后,产生提示信息给玩家,以后服务器及客户机就可以进行下棋,传送文件,文字聊天,视频聊天等。若选择客户机,则在玩家输入服务器ip后(端口由软件默认指定)发送连接请求到服务器。若玩家不知道当前有哪些服务器可用,可以使用服务器扫描功能,获得局域网内哪些计算机已经打开服务器。2.4软件控制结构软件控制结构见图2.2。图2.2 软件控制结构从图2.2中可以看出,首先由玩家选择对弈模式,然后软件将控制权交给人机对弈模块或网上对弈模块。人机对弈模块可以调用计算机下棋、胜负判定、交换角色、难易程度选择、保存棋局、打开棋局、悔棋及撤销悔棋等功能模块。网上对弈模块可以调用传送下棋数据、传送文件、文字聊天、视频聊天及扫描服务器等功能模块。2.5功能需求与程序的关系功能需求与程序的关系见表2.2。表2.2 功能需求与程序的关系需求项目FiveDlg.cppCMessage.cpp ServerSocket.cppClientSocket.cppScan.cpp胜负判定计算机下棋难易程度选择悔棋撤销悔棋交换角色保存棋局打开棋局网上对弈文字聊天扫描服务器2.6人工处理过程尚无2.7尚未解决的问题1. 传送文件 原因:时间紧迫2. 视频聊天 原因:时间紧迫 技术难度3 系统数据结构设计系统关键数据结构设计见表3.1。表3.1 系统关键数据结构设计标志符意义类型修饰符gRecord当前已下棋的位置数组CPointglobalBOARD_LINE_NUMBER表示棋盘大小intglobalcnt当前已下棋个数intglobalcnt2当前已悔棋步数intglobalbUndo是否可以悔棋boolglobalbRedo是否可以撤销悔棋boolglobalCMessg用于封装下棋数据及聊天数据classglobalm_bInit是否已初始化boolPrivate of CFiveDlgm_bClient是否为客户端boolPrivate of CFiveDlgm_byColor当前下棋方BYTEPrivate of CFiveDlgm_Board棋盘各位置是否已下棋及下棋的颜色intPrivate of CFiveDlgm_clientsocket 用于收发数据CClientSocketPrivate of CFiveDlgm_pListenSocket 用于建立服务器及响应客户机连接请求CServerSocketPrivate of CFiveDlg4 系统出错处理设计系统出错处理设计见表4.1。表4.1系统出错处理设计出错条目提示信息出错处理在人机对弈时使用某些网络对弈功能提示用户选择网上对

温馨提示

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

评论

0/150

提交评论