ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:297.90KB ,
资源ID:4640468      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4640468.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(UML五子棋设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

UML五子棋设计.docx

1、UML五子棋设计单机版五子棋设计郑州大学信息工程学院姓名学号易晓沛(组长)20137670344吴家贝20137670340崔云开20137670407杨照方20137670343李庆仁孙迎春20137670332陈仟仟201376703041.需求分析1.1项目背景五子棋是一种两人对弈的纯策略型汉族棋类益智游戏,棋具与围棋通用,由中国汉族人发明,起源于中国上古时代的传统黑白棋种之一。主要流行于华人和汉字文化圈的国家以及欧美一些地区。规则为双方交替落子,直到有一方下出五子连续,五子连珠为赢。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。

2、1.2项目技术支撑使用语言进行需求分析设计;在 2010集成开发环境下用语言及架构编写软件。1.2.1 简介 ()又称统一建模语言或标准建模语言,是始于1997年一个标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(,)方法的发展在80年代末至90年代中出现了一个高潮,是这个高潮的产物。它不仅统一了、和的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。 的描述对象集合和它们之间的关系的方法。 的对象建模技术()。 的包括用例方法的方式。还有其他一些想法也对起到了作

3、用,是, , 。已经被对象管理组织()接受为标准,这个组织还制定了通用对象请求代理体系结构(),是分布式对象编程行业的领头羊。计算机辅助软件工程()产品的供应商也支持,并且它基本上已经被所有的软件开发产品制造商所认可,这其中包括和微软(用于它的环境)。规范用来描述建模的概念有,类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。1.2.2 简介是一种安全的、稳定的、简单的、优雅的,面向对象的编程语言。它在继承C强大功能的同时去掉了一些它们的复杂特性。综合了简单的可视化操作、高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为开发的

4、首选语言。1是面向对象的编程语言。它使得程序员可以快速地编写各种基于 平台的应用程序, 提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。2系统概要分析2.1 基本设计概念本软件采用面向对象的设计方案,通过把对弈接口组件化,来实现界面设计与算法设计的完全分离。 2.1.1类模块结构表1 类模块列表类标识符类名功能五子棋主程序窗体类它是程序界面设计部分的实现,它主要负责界面的绘制,而真正的人机对弈操作委托来完成。五子棋对弈接口类它定义了完成人机对弈的操作接口,这样主窗体类可以通过这些操作接口来完成人机对弈的过程。而实际这些操作的实现是通过桥接的方式委托搜索引擎来完成的。最佳走法的线程类

5、它是通过委托实例中的对象的操作来找出当前电脑的最佳走法。而它本身却是在中被实例化并被调用的。搜索引擎类在它当中定义了搜索算法所需要的数据结构和操作,而搜索算法中的核心操作是委托估值核心来完成的。估值核心类在它当中定义了估值核心所需要的数据结构和操作,并实现了估值核心。表2 各个类中的属性和操作列表属性操作标识符所属类功能返回指定位置落子状态,委托实现返回所指定的步数的走法,委托实现返回所指定步数的走法得分,委托实现返回当前走法索引,委托实现设定或返回电脑的棋色设定或返回电脑的棋力水平值返回游戏是否开始玩家下子,如果玩家未赢,则紧跟着电脑下子玩家认输玩家悔棋,棋局退回到玩家下最后一颗子之前的状态

6、开始游戏,开局后,棋色和棋力属性将不能再改变结束游戏,游戏结束后,棋色和棋力属性可以改变返回或设定指定位置落子状态,委托实现返回所指定的步数的走法返回所指定的步数的走法得分返回当前走法索引返回获胜者返回游戏是否结束返回最佳走法返回或设定指定位置落子状态返回是否平局返回棋局估值上面所列出的属性和操作仅为的属性和操作,的变量、属性和操作这里没有给出定义,它们将在接口设计和系统数据结构设计中进行讨论。另外是一个组件类,其中定义了三个比较特殊的事件属性,通过这三个事件,可以使界面设计更加灵活方便,这三个事件的功能在下表中给出:表3 组件中的事件定义列表事件描述游戏开始事件游戏中棋盘状态改变所触发的事件

7、游戏结束事件2.1.2 功能需求与程序的关系界面界面算法接口算法2.1.3 尚未解决的问题因为博弈算法中搜索引擎的改进是影响整个游戏智能化程度的关键,但是搜索算法有很多,现在还不能确定哪种搜索算法更适合于本游戏,这些算法的测试将在详细设计和编码调试时再进行。2.2 接口设计2.2.1 用户接口用户的所有操作全部通过鼠标或者热键来完成。开始游戏、悔棋、认输和结束游戏这些操作通过点击按钮、右键菜单或使用热键来完成。棋色和水平选择通过点击单选框或右键菜单来完成。游戏中棋子状态将直接反映在棋盘上,其他反馈信息(比如棋盘当前局面、走棋时间、棋谱等信息)将在单独的反馈信息栏中显示。2.2.2 外部接口本程

8、序与其他比赛程序通过裁判程序(有比赛裁判委员会给出)来进行相互通讯,棋盘上落子通过鼠标事件的触发来完成,裁判程序将模拟这一鼠标事件。裁判程序对棋盘状态的获取将直接根据棋盘颜色变化来检测。2.2.3 内部接口组件定义了界面和算法的接口,中聚合了类的实例,而中聚合了的实例。通过这种设计,提高了系统的松散耦合性。2.3.流程图2.3.1主模块图 2.3.2 界面及图形模块2.4 设计2.4.1系统用例图2.4.2动态交互图2.4.3静态类图2.4.4包图2.4.5流程图3.详细设计3.1基本操作3.1.1界面以及落子处理1.使用二维数组15,15储存棋盘的状态,以0表示没有放子的位置,以1表示放黑子

9、的位置,以2表示放白子的位置;2.以鼠标的状态提示当前持子的一方;3.将棋盘作为图片的形式贴处在程序界面上;4.加载棋子资源(黑、白棋子),当鼠标在棋盘上点击的时候产生事件,处理鼠标的位置产生对应的棋盘坐标位置; 5判断落子出是否可以落子:不可以则不做任何处理,不改变鼠标的状态;可以落子,则打印对应的棋子图像,记录棋盘位置,并将位置传递给判定函数;6.交换持子方,重复落子过程,直到判定函数产生胜出结果;图2系统界面3.2五子棋判胜本功能模块主要对游戏的胜负进行判定.1.由玩家输入棋子所在位置,由系统判定胜负,若胜,则游戏结束;否则,游戏继续.2对胜负判定需先确定一个中心棋子位置.3由一个中心棋

10、子可以引出四条线形成五子连一线.4判定过程中注意越界现象.概要设计1五子棋的判胜条件即为5个相同的棋子连在一条线上.2以一个棋子为中心,有4条线可以形成五子连线.如图所示:(描红的为中心棋子)3 中心棋子即为最后一步所下棋子.4 以1线为例,从中心棋子出发(设为白子),先向左进行判断,若棋子为白子,则计数器加1(初始值为1),否则(为黑子或无子),则返回中心棋子,向右进行判断,进行相同操作. 5 1线判定结束后,若计数器为5,则判白子胜,否则,计数器归1,再从2,3,4线按顺序进行判定.6 棋盘的每个坐标有3个状态,分别为无子(标记为0),白子(标记为1),黑子(标记为2),对棋盘点进行判断时

11、,只需判定其所在状态即可。7 若棋盘下满,仍未有五子连线,则判和。 图3 五子棋判胜流程图4.软件实现与测试软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。软件测试的目的:(1)测试并不仅仅是为了找出错误。通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。5、运行结果 5.1 首先进入游戏界面,然后可以选择难度 玩家可以选择人人对战可和人机对战两个模式 玩家开始游戏当白棋快赢的时候 或手勿玩家想回步的时候可以选择悔棋(但只能悔棋一步)悔棋后到上一步6总结经过系统的设计与实现,一个能够实现人机对战和人人对战的局域网五子棋系统基本完成。总结全文的工作,具体概括如下:对游戏逻辑模块进行优化,进一步提高时间性能和可扩展性,以适应将来新的需求和变化。此外电脑落棋算法也有待进一步改进,这里采用的是循环遍历算法。7附录7.1源代码

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1