- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
五子棋游戏〔双人对战版〕软件设计
2012-2013学年第1学期“软件工程”课程设计报告
学院/系 信息工程学院计算机科学系 专业 计算机科学与技术 班级 项目名称 五子棋游戏(双人对战版)软件设计 组长 小组成员 主要负责完成软件的测试模块 主要负责完成界面设计以及源代码的编写与调试 主要负责完成数据结构设计以及源代码的编写与调试 主要负责完成的功能设计以及源代码的编写与调试 主要负责完成软件的问题描述和算法分析部分以及报告的整合 主要负责完成软件的需求分析模块 目录
第一章 五子棋双人对战版软件问题描述 3
1.1 五子棋的相关介绍 3
1.1.1 五子棋的简介 3
1.1.2 五子棋规则 3
1.2 五子棋双人对战版软件 4
1.2.1 软件设计思想 4
第二章 五子棋双人对战实现的算法分析 4
2.1传统五子棋算法介绍及初步实现 4
2.1.1 估值函数 4
2.1.2 Alpha–Beta 搜索 5
2.1.3 胜负判断 7
2.2 五子棋算法的优化 7
2.2.1 减少搜索范围 7
2.2.2 设置下棋风格 8
2.2.3 增大搜索层数 8
2.2.4 使用置换表 8
2.2.5 启发式搜索 8
第三章 需求分析报告 9
3.1 介绍 9
3.1.1 目的 9
3.1.2 文档约定 9
3.1.3 面向的读者和阅读建议 9
3.1.4 参考文献 10
3.2 整体描述 10
3.2.1 功能需求 10
3.2.2 性能需求 11
3.2.3 数据流图 12
3.3 系统特点 12
3.3.1 系统特点 12
3.3.2 系统功能 12
3.4 外部接口需求 13
3.4.1 用户界面 13
3.4.2 硬件接口 13
3.4.3 软件界面 13
3.5 其他非功能需求 13
3.5.1 系统交付日期 13
3.5.2 系统需求 13
3.6 软件总流程图 14
第四章 设计与实现 15
4.1 基本设计概念和处理流程 15
4.2 结构 15
4.3 功能设计 16
4.3.1 软件的基本功能设计 16
4.3.2 软件的附加功能设计 16
4.4 接口设计 16
4.4.1 用户接口 16
4.4.2 外部接口 17
4.4.3 内部接口 17
4.5 界面设计 17
4.5.1 界面设计运用的主要方法 17
4.6 系统数据结构设计 19
4.6.1 逻辑结构和物理结构设计要点 19
4.6.2 数据结构与程序的关系 21
4.7 系统出错处理设计 22
4.8 软件运行结果 22
第五章 测试 25
5.1 黑盒测试 25
第一章 五子棋双人对战版软件问题描述
1.1 五子棋的相关介绍
1.1.1 五子棋的简介
五子棋是一种两人对弈的纯策略型棋类游戏,棋具与围棋通用,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。无禁手玩法:黑先白后,谁先连五谁胜禁手玩法:黑先行棋,黑棋只能走冲四活三胜,黑双活三禁手 双冲四禁手 四三三禁手 四四三禁手 六连长连禁手;白后手,白棋无任何禁手,还可以抓黑棋的禁手点取胜职业规则玩法:三手交换五手两打,黑棋有禁手,意思是下到第三手棋执白方有权选择交换下黑棋或者继续行棋,下到第五手时执黑方给出两个打点让执白方选择去掉一个打点下剩下的打点。
不同的棋型,其优先级不同。例如,四个棋子连成一线且还能继续落子的棋型(活四)显然要比只有三个棋子连成一线(活三或死三)好。要使计算机正确地做出这种判断,就要把第一种棋型的估值设高。事实上,对于每一种特定的棋型,都需要相应的估值来反映其优劣情况。另外,由于搜索模块频繁地调用估值函数,为了尽可能地加快搜索速度,估值函数应设计的越仔细越好。估值时,需要从四个方向上来考虑所下棋子对当前盘面的影响。这个方向分别是以该棋子为出发点,水平、竖直和两条为45 度角和135 度角的线。为方便分析棋盘上的格局,本文中约定以“A”代表黑子,“B”代表白子,“?”代表棋盘上空位。算法中关于棋子死活的规定如下:一方落子后,它的落子连成的一条线有两条不损伤的出路,则称该棋型是活的。否则称该棋型是死的。比如关于活三的定义:不论对手如何落子,仍然至少有一种方法可以冲四。因此,B?AAA? B 中的三个A,不能算是活三;B?AAA??B 中的三A,也不是活三,尽管它有可能成为活四。这样,棋型的估值设计才能比较细致。
本文算法对特定棋型的估值如表1 所示。
表一:特定棋型的估值
2.1.2 Alpha–Beta 搜索
在博弈问题中,每一个格局可供选择的行动方案都有很多,因此会生成十分庞大的博弈树。一般地只生成一定深度的博弈树,然后进
您可能关注的文档
- 中央财经大学金融硕士考研经验和笔记整理才思.doc
- 中星九号卫星五月10号升级后的PID参数.doc
- 中控–灯控–墙板–服务灯–火警连动器的连接和学习方法说明.doc
- 中山大学珠海校区社团介绍〔呦ho〕.doc
- 中煤集团基建项目〔二、三期〕质量标准化标准.doc
- 中律教培︰外资并购、上市公司收购、并购整合及私募融资.doc
- 中政教育:常用公文写作格式规范〔一〕.doc
- 中级财务资料总结第8章负债.doc
- 中考古文〔20篇〕知识点.doc
- 中考古文〔20篇〕知识点、考点归纳集锦.doc
- 职业技术学院2024级工业机器人技术(安装与维护)专业人才培养方案.docx
- 职业技术学院2024级应用化工技术专业人才培养方案.pdf
- 职业技术学院2024级软件技术(前端开发)专业人才培养方案.pdf
- 职业技术学院2024软件技术专业人才培养方案.docx
- 职业技术学院2024级信息安全技术应用(安全运维)专业人才培养方案.docx
- 职业技术学院2024级新能源汽车检测与维修技术(车辆鉴定与评估)专业人才培养方案.pdf
- 职业技术学院2024级石油炼制技术专业人才培养方案.pdf
- 职业技术学院2024级环境监测技术专业人才培养方案.docx
- 职业技术学院2024级汽车制造与试验技术专业人才培养方案.pdf
- 职业技术学院2024级信息安全技术应用专业人才培养方案.pdf
文档评论(0)