- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
子棋开发文档 详细原理和源代码(AS)
五子棋开发报告
题目:五子棋
班级:
组长:
成员:
2011年11月26日
目录
一、 软件设计介绍 3
二、 软件开发平台简介 3
三、 需求分析 3
四、 概要设计 3
4.1 设计思路 3
4.2 流程图 4
五、 详细设计 5
5.1 主要设计原理 5
5.1.1 基本编程原理 5
5.1.2人工智能下棋原理 5
5.1.3悔棋功能原理 6
5.1.4判断输赢原理 6
5.2包说明 6
5.2.1默认包 6
5.2.2 create包 7
5.2.3ctrl包 7
5.2.4Data包 7
5.2.5Graph包 7
5.2.6Methods包 8
六、 调试分析 8
6.1测试报告 8
6.1.1开始界面 8
6.1.2双人游戏界面 9
6.1.3单人游戏界面 10
6.1.4胜负判断 10
6.1.5 下棋提示和悔棋功能 12
6.1.5 人工智能下棋 13
6.2 缺陷与改进 13
七、 总结 13
八、 参考资料 14
九、 附录 14
8.1 五子棋相关术语 14
8.2 源程序 15
软件设计介绍
该软件为一个五子棋游戏。能够实现两种游戏模式:
1.单人游戏模式,即人和电脑对战。
2.双人游戏模式,即两人对战。
下棋的过程中,可以允许玩家悔棋。
游戏结束后,会提示哪一方玩家获胜;并弹出重新开始和退出软件提示。
软件开发平台简介
该软件采用了ActionScript 3.0语言开发此软件。ActionScript 3.0 是一种强大的面向对象编程语言。设计 ActionScript 3.0 的意图是创建一种适合快速地构建效果丰富的互联网应用程序的语言在 Adobe 产品系列中,专业设计人员可以在几种工具和服务器中使用 ActionScript,比如 Flash、Flex 和 Flash Media Server,从而为 Flash Player Runtime 创建内容和应用程序
需求分析
1) 在游戏开始界面出现软件介绍以及人人对战和人机对战的选择提示;
2) 在人机对战页面显示人先下和电脑先下的选择提示;
3) 画棋盘;
4) 双方下棋;
5) 下棋页面给出悔棋功能提示;
6) 判断输赢给出提示;
7) 给出继续游戏和退出选择提示;
8)提供背景音乐和音效;
9)提供每次下棋的地址标志。
概要设计
4.1 设计思路
运用面向对象的思想,绘制五子棋棋盘,定义各个触发事件,实现五子棋的基本下棋步骤,人工智能的实现通过对没一个空格进行重要程度进行合理的评分,选出权值最大的点进行下棋。
4.2 流程图
详细设计
5.1 主要设计原理
5.1.1 基本编程原理
先在主文档中调用initData() 初始化所有要用到的所有数据.为所有按钮添加响应的事件响应函数.
待点击下棋模式开始下棋以后,创建响应模式下的棋盘实例.开始下棋.
当玩家点击棋盘上的坐标点,若为空,则确认下棋并记录下棋数据.然后判断下这一步的输赢情况,若赢了,则提示游戏结束.否则切换玩家继续下棋.
下棋过程中如果需要悔棋,则点击悔棋按钮,程序会响应点击事件,根据记录的数据进行类似后腿的操作.如果需要关闭声音,可以点击相应的关闭按钮
游戏结束后提示重玩或者退出播放器,若重玩则重新初始化数据,开始新游戏
5.1.2人工智能下棋原理
本五子棋棋盘采用标准的19X19的棋盘,通过在chessData类里创建一个全局变量数组chessboard[][]来记录每个交点的下棋情况,空棋盘为0,人为1,电脑为2 。
因为AS不支持结构体,因此,用create类定义一个四维数组value[19][19][8][5],对每一个空格进行遍历,将八个方向连续四个点的情况记录在数组当中。
八个方向为:
7 0 1
6 2
5 4 3
显然,在判定的时候,7和3,0和4,1和5,2和6要作为一个方向判定。
另外,如果在边界,那么将边界外的赋值为非空格、人或者电脑的数值,外定义no=3处理边界问题。需要处理的包括第一行所有交点的7、0、1方向,第一列的7、6、5方向,第十九行的5、4、3方向,第十九列的1、2、3分向,这样避免电脑将死四评定为冲四之类的误判。
然后对每个空格进行,评分规则如下:
判断是否能成五, 如果是机器方的话给予1000000分,如果是人方的话给予900000 分;
判断是否能成活四,如果是机器方的话给予50000分,如果是人方的话给予40000分;
判断是否能成三三,如果是机器方的话给予50000分,如果是人方的话给予50000分;
判断是否能成冲四,如果是机器方的话给予50000分,如果是人方的话给予10000 分;
判断是否能成活三,如果是机器方的话给予
文档评论(0)