五子棋Java实验报告五子棋Java实验报告.doc

五子棋Java实验报告五子棋Java实验报告.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
五子棋Java实验报告五子棋Java实验报告

五子棋JAVA实验报告 一、实验目的和要求 1、能够用编程语言实现一个简单的五子棋程序 2、在实际系统中使用、实现人工智能的相关算法 3、进一步加深对人工智能算法的理解 二、 1、五子棋的起源 五子棋,是一种两人对弈的纯策略型棋类游戏,亦称“串珠”、“连五子”;是中国民间非常熟知的一个古老棋种。相传,它起源于四千多年前的尧帝时期,比围棋的历史还要悠久。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。 五子棋发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。 传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为19X19,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。因为传统五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。 2、五子棋的基本常识 与任何一种竞技棋一样,五子棋的每一局棋也分为三个阶段:开局,中局和残局。 五子棋的开始阶段称为开局,或称布局。其开局阶段是十分短暂的,大约在七着与十几着之间。在这一阶段的争夺中,双方的布局,应对将对以后的胜负起着极为关键的作用。在开局阶段取得的形势好坏,主动与被动,先手与后手的优劣程度,往往直接影响中局的战斗。因此积极处理好开局和开局向中局的过渡十分重要。 五子棋是从一至五,逐渐布子,发展连系,同时运用限制和反限制的智慧,在连子的过程中为自己的棋子争得相对的主动权和优势,逐步扩展优势,或者从劣势转化为优势,击溃对方的防线,最后连五取胜或抓禁手取胜或迫使对方投子认负。 3、五子棋比赛的相关规定 (1) 职业连珠规则 a. 黑方先下子,白后下,从天元开始相互顺序落子。 b. 最先在棋盘横向、竖向、斜向形成连续的相同色五个棋子的一方为胜。 c. 黑棋禁手判负,白棋无禁手。黑棋禁手包括“三三”(包括“四三三”)、“四四”(包括“四四三”)、“长连”。即黑棋只能以“四三”取胜。 有关术语解释请见图示说明。 d. 如分不出胜负,则定为平局。对局中拔子、中途退场均判为负。 e. 五连与禁手同时形成,判胜。 (2) 比赛中的规定和特例 a. 对局开始前,双方猜子,大数减小数,单数交换,偶数不换。 b. 白棋第一手(即盘面第二着棋)应在天元为界自己一侧布子,主要以示尊重对方,之后双方可任意行子。 c. 对局中双方应遵守“职业连珠五子棋规则”,如出现争议,应由裁判判定。 d. 对局中掉子(棋子掉落在棋盘上)的一方判负。如遇推子或蹭子,以盘面第一落点为准。用手将棋子扶正不算违规。 e. 对局中应礼貌行棋,防止不正常声音、动作影响对方思考。 f.. 比赛结束后,双方应将各自棋子放回原处。 g. 对局中如黑方出现禁手,白方应立即指出禁手点,黑方即负。如白方在黑方出现禁手后,又下一步白子,黑棋禁手则不成立了。 h. 比赛对局时间,双方分别为15分钟、1小时、2小时、5小时四个等级标准,超时判负。 (3) 特殊规定 职业五子棋虽然对黑棋采取了种种限制,但黑子先行的优势依然很大。因此,在高段位的职业比赛中,又出现了三种特殊的规定。 a. 指定打法:是指比赛双方按照约定好的开局进行对弈,由白棋先行。 b. 三手可交换:是指黑棋下盘面第3手棋后,白方在下第四手之前,如感觉黑方棋形不利于己方,可提出交换,即执白棋一方变为执黑棋一方,而黑方不可以不换。 c. 五手两打法:是指黑棋在下盘面上关键的第5手棋时,必须下两步棋,让白棋在这两步棋中拿掉一粒棋子,然后再继续对弈。一般说来,白棋肯定拿掉对白方不利的一点,而保留对黑方较为不利的那点让黑方行棋。 三、 1、系统用例模型设计 五子棋系统应该具有选择玩家先落子还是电脑先落子的功能,应该具有开始游戏和重新开始的功能,当然了,必须具有在玩家指定位置落子的功能。以上描述,用用例图在图1中做进一步描述。这部分功能,主要通过界面与系统的交互来实现。 图1 五子棋系统的玩家用例图 各个用例,简单描述如下: 选择电脑先落子:选择后,在游戏过程中,由电脑执黑子,先落子;玩家执白子,于电脑后落子; 选择玩家先落子:选择后,在游戏过程中,由玩家执黑子,先落子;电脑执白子,于玩家后落子; 落子:原则上说,只要不违反禁手规则,在玩家鼠标点击最近的落子点落子,但是在本系统中,简单起见,没有考虑禁手规则; 开始游戏:选择后,根据设定的电脑还是玩家先落子,开始游戏; 重新开始:在游戏途中,可以选择重新开始,中断游戏并重新开始游戏。 同时,五子棋系统本身应该具有棋盘绘制、棋势扫描、棋势排序、棋势评估、择位落子,以及胜负判定的功能,尤其是对于棋势排序、棋势评估和择位落子,这里是体现五子棋系统人工智能(AI

文档评论(0)

cduutang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档