五子棋游戏(双人对战版)软件设计

五子棋游戏(双人对战版)软件设计

ID:8991179

大小:570.50 KB

页数:27页

时间:2018-04-14

五子棋游戏(双人对战版)软件设计_第1页
五子棋游戏(双人对战版)软件设计_第2页
五子棋游戏(双人对战版)软件设计_第3页
五子棋游戏(双人对战版)软件设计_第4页
五子棋游戏(双人对战版)软件设计_第5页
资源描述:

《五子棋游戏(双人对战版)软件设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、2012-2013学年第1学期“软件工程”课程设计报告学院/系信息工程学院计算机科学系专业计算机科学与技术班级项目名称五子棋游戏(双人对战版)软件设计组长小组成员主要负责完成软件的测试模块主要负责完成界面设计以及源代码的编写与调试主要负责完成数据结构设计以及源代码的编写与调试主要负责完成的功能设计以及源代码的编写与调试主要负责完成软件的问题描述和算法分析部分以及报告的整合主要负责完成软件的需求分析模块27目录第一章五子棋双人对战版软件问题描述31.1五子棋的相关介绍31.1.1五子棋的简介31.1.2五子棋规则31.2五子棋双人对战

2、版软件41.2.1软件设计思想4第二章五子棋双人对战实现的算法分析42.1传统五子棋算法介绍及初步实现42.1.1估值函数42.1.2Alpha–Beta搜索52.1.3胜负判断72.2五子棋算法的优化72.2.1减少搜索范围72.2.2设置下棋风格82.2.3增大搜索层数82.2.4使用置换表82.2.5启发式搜索8第三章需求分析报告93.1介绍93.1.1目的93.1.2文档约定93.1.3面向的读者和阅读建议93.1.4参考文献103.2整体描述103.2.1功能需求103.2.2性能需求113.2.3数据流图123.3系统特

3、点12273.3.1系统特点123.3.2系统功能123.4外部接口需求133.4.1用户界面133.4.2硬件接口133.4.3软件界面133.5其他非功能需求133.5.1系统交付日期133.5.2系统需求133.6软件总流程图14第四章设计与实现154.1基本设计概念和处理流程154.2结构154.3功能设计164.3.1软件的基本功能设计164.3.2软件的附加功能设计164.4接口设计164.4.1用户接口164.4.2外部接口174.4.3内部接口174.5界面设计174.5.1界面设计运用的主要方法174.6系统数据结

4、构设计194.6.1逻辑结构和物理结构设计要点194.6.2数据结构与程序的关系214.7系统出错处理设计224.8软件运行结果22第五章测试255.1黑盒测试2527第一章五子棋双人对战版软件问题描述1.1五子棋的相关介绍1.1.1五子棋的简介五子棋是一种两人对弈的纯策略型棋类游戏,棋具与围棋通用,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。1.1.2五子棋规则无禁手玩法:黑先白后,谁先连五谁胜。禁手玩法:黑先行

5、棋,黑棋只能走冲四活三胜,黑双活三禁手双冲四禁手四三三禁手四四三禁手六连长连禁手;白后手,白棋无任何禁手,还可以抓黑棋的禁手点取胜。职业规则玩法:三手交换五手两打,黑棋有禁手,意思是下到第三手棋执白方有权选择交换下黑棋或者继续行棋,下到第五手时执黑方给出两个打点让执白方选择去掉一个打点下剩下的打点。1.2五子棋双人对战版软件1.2.1软件设计思想人对人游戏,其实只是对游戏规则的实现,我们只是利用五子棋游戏的规则以及五子棋的经典算法来编程,这些规则和算法,我们将用相应的函数来实现。一个优秀的游戏软件必须有一个正确的设计思想通过合理地选

6、择数据结构、操作系统以及开发环境构成一个完善的体系结构才能充分发挥计算机应用的优势。根据游戏玩家的实际需求本系统的设计按照下述原则进行:实用性、先进性、高可靠性、可维护性、可扩展性及灵活性、智能性。27第二章五子棋双人对战实现的算法分析2.1传统五子棋算法介绍及初步实现2.1.1估值函数不同的棋型,其优先级不同。例如,四个棋子连成一线且还能继续落子的棋型(活四)显然要比只有三个棋子连成一线(活三或死三)好。要使计算机正确地做出这种判断,就要把第一种棋型的估值设高。事实上,对于每一种特定的棋型,都需要相应的估值来反映其优劣情况。另外,

7、由于搜索模块频繁地调用估值函数,为了尽可能地加快搜索速度,估值函数应设计的越仔细越好。估值时,需要从四个方向上来考虑所下棋子对当前盘面的影响。这个方向分别是以该棋子为出发点,水平、竖直和两条为45度角和135度角的线。为方便分析棋盘上的格局,本文中约定以“A”代表黑子,“B”代表白子,“?”代表棋盘上空位。算法中关于棋子死活的规定如下:一方落子后,它的落子连成的一条线有两条不损伤的出路,则称该棋型是活的。否则称该棋型是死的。比如关于活三的定义:不论对手如何落子,仍然至少有一种方法可以冲四。因此,B?AAA?B中的三个A,不能算是活三

8、;B?AAA??B中的三A,也不是活三,尽管它有可能成为活四。这样,棋型的估值设计才能比较细致。本文算法对特定棋型的估值如表1所示。表一:特定棋型的估值272.1.2Alpha–Beta搜索在博弈问题中,每一个格局可供选择的行动方案都

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。