五子棋文档.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
五子棋文档

五子棋游戏设计与实现 ——051221134 翟晓华 目录 五子棋游戏设计与实现 1 ——051221134 翟晓华 1 一. 问题定义: 2 二.模块设计2 2.1 整理描述2 2.2 功能描述3 2.2.1 棋子类3 2.2.2 棋盘类3 2.2.3 规则分析类4 2.2.4 游戏类6 三.算法描述7 3.1AI 算法设计7 3.2 输赢判断算法设计 10 3.3 禁手判断算法设计 11 四.程序说明 12 五.使用说明 12 一.问题定义: .能按照五子棋的规则(规则附文后)进行人机对战,并能顺利结束棋局。 机器思考步骤最好不要超过30秒。 考虑先手禁手的规则: 黑方不能以双活3 或双4 取胜,其中活3 有连3 和跳3,4 有活4 和冲4;一旦出现禁手,对 方指出,则判负;若同时出现禁手和成5,则先5 为胜. 二.模块设计 2.1 整理描述 本游戏设计有三个模块:人机交互界面、规则分析部分、棋盘棋子部分。程序整体结构及 模块之间的联系如下图所示: 调用棋盘棋子模块新建棋盘对象 用户根据自己需求 调用人机交互模块选择等级 以及白棋或黑棋 根据用户选择,获取机器先或玩家先以及游戏 难度,将结果传给规则分析模块 开始游戏 用户或者计算机走步,如果轮到计算机走步, 调用规则分析模块根据当前棋局给出一个计算 机走步位置。否则通过人机交互模块获得玩家 输入的位置 调用规则分析模块,首先判断当前这步是否是 黑子,是则继续调用规则分析模块判断是否是 禁手,若是则提示结束游戏,用户可重新开局 判断当前是否有一方已经构成五子,若是,则 提示该方胜利,结束游戏。若不是则等待另一 方走步 2.2 功能描述 2.2.1 棋子类  Chess 类:  属性:棋子位置,颜色  提供的主要方法: a) public void initial(int x, int y):用于初始化棋子; 2.2.2 棋盘类  chessBoard 类:  属性: a) private int arraySize; //棋盘大小 b) public chess[] steps; //记录下每一步走过的棋 c) public int current; //指向steps 数组中当前走 的棋,通过修改它来实现悔棋 d) public int[][] board; //棋盘大小,用二维数组表示,0 表无棋,1 表黑棋,2 表白棋  提供的主要方法: a) public void initial():用于初始化棋盘; b) public int putDown( chess aChess ): /**

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档