怎样理解java的这个五子棋禁手判断 算法判断输赢的算法??、、

查看:1371|回复:2
最近在写一个人工智能的五子棋游戏,但不知道该怎么写博弈树,大家有没有这方面的代码?
很着急啊。纠结中。。。
偶,我发现了一点资源,是关于五子棋博弈树的视频教程:我自己写的一个java五子棋,具有AI哦,虽然比较菜 - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 18时,
这是我大一的时候上选修课,那时候对AI比较感兴趣,最先接触的语言就是java,所以就只好用这个了,现在看起来这个程序,实在是...不解释
代码片段(2)
Main.java&~&35KB&&&&
2.&[图片] 五子棋截图.png&&&&
开源中国-程序员在线工具:
相关的代码(7)
23回/20193阅
36回/13706阅
5回/3418阅
2回/2824阅
2回/2168阅
我确实下载了,我看到一篇一篇的逻辑运算时,看傻了
2楼:王振威 发表于
引用来自“唯一”的评论我确实下载了,我看到一篇一篇的逻辑运算时,看傻了我都说了当年的我,不解释...,不过你倒是可以运行一下试试看,呵呵
3楼:徐跃 发表于
赶紧下载完~看看.
4楼:流兴宇 发表于
我佩服你,你是我的偶像。。。。
5楼:11D^Kane 发表于
老师,这运算。。。看来您还得来逐个解释才看得明白。。。X_X
6楼:lixingbest 发表于
哎,该反思了,这几年的算法都白学了~~~
7楼:Jock 发表于
菜鸟& 请教个问题 我为什么下不了 要积分?
8楼:王振威 发表于
引用来自“Jock”的评论菜鸟& 请教个问题 我为什么下不了 要积分?积分,我不知道啊,没要积分吧
9楼:programmer_boy 发表于
下不了...........
10楼:王振威 发表于
引用来自“pro_boy”的评论下不了...........上边有下载啊,咋下不了?
11楼:解雨衡 发表于
哥,这程序写的,小弟彻底凌乱了
12楼:国家の江山 发表于
这个游戏的bug非常多,你绝对可以把所有的棋盘都变成红色。然后,他会一直在叫,你太厉害了,我打不过你。
13楼:国家の江山 发表于
你的思路我大概理解,如果在bug处理上修正一下,比如能够消除旗子。那就更加完美了。
14楼:离未罔两 发表于
如果还在搞Java的话请再写一个吧
开源从代码分享开始
王振威的其它代码您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于Java的五子棋小游戏的设计与实现.doc26页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:100 &&
你可能关注的文档:
··········
··········
信息计算软件设计
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
初始条件:
学习过c语言程序设计,Java语言程序设计,数据库技术,设计结构等;
要求完成的主要任务:
随着网络的普及,益智竞技类小游戏越来越受到欢迎,五子棋作为一个棋类竞技运动,在民间十分流行。本文在此背景下用Java制作了五子棋小游戏,其中包括背景界面的显示与绘制、棋子的绘制、界面按钮功能的实现、胜负的判断、游戏时间的设置等等。
时间安排:
第17周星期一至五:查阅文献,总体设计,设计算法,功能模块设计 第18周星期一至五:编码和测试 第19周星期一至五:写课程设计,提交初稿,给老师检查,修改定稿,答辩。
指导教师签名:
系主任(或责任教师)签名:
本文主要采用Eclipse工具与java语言开发的五子棋小游戏,该游戏程序能够实现两个人对阵下棋,程序中能够自定义的设置双方对阵的游戏时间以及智能的判断游戏中哪方获得胜利及游戏的结束。算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。
关键词:java
With the developing of network, The network game becomes a part within life of people gradually, It not only can make person's amusement and amusement, also can develop the person's intelligence, Make brain more vivid.As a sport, gobang is very popular in civil, in order to become familiar with gobang rules and techniques, and the study of simple artificia
正在加载中,请稍后...您可能对以下计算机毕业设计还有兴趣:
看过此计算机毕业设计的网友同时还看了:
网友评论(评论内容只代表网友观点,与本站立场无关!)
1&2&3&4&5&6&7&8&9&10&11&12&13&
1&2&3&4&5&6&7&8&9&10&11&12&13&
1&2&3&4&5&6&7&8&9&10&11&12&13&
爱毕业设计网你的位置:
&& 详细内容
基于Java的五子棋游戏的设计
时间:日 23:21
2&课题相关基础2.1&五子棋2.1.1&棋盘和棋子现代五子棋棋盘,经过国际棋联的多次修改,最终定为15 X 15路,即棋盘由横竖各15条平行线交叉组成,共有225个交叉点;棋盘上共有五个星位,中间的星位称为天元,周围四点为小星,与围棋盘略有不同。见图1。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图1 棋盘五子棋的棋子和围棋相同,分黑白2种颜色,通常为散圆形,有一面凸起或二面凸起等形状,一副棋子总数为225枚,其中黑子113枚,白子112枚。关于计时,正规比赛按不同级别设置了不同的时间限制,一般的玩家都没有这个限制。2.1.2&规则及解释1:黑棋先行,白棋随后。从天元开始相互顺序落子。2:最先在棋盘的横向、竖向、斜向形成连续的相同色五个棋子的一方为胜利。3:黑棋禁手判负、白棋无禁手。黑棋禁手包括“三、三”;“四、四”;“长连”。黑方只能用“四、三”去取胜。4:如分不出胜负,则定位平局。5:对局中拔子、中途退场均判为负6:五连与禁手同时形成,先五为胜。7:黑方禁手形成时,白方应立即指出。若白方未发现或发现后不立即指正,反而继续落子,则不能判黑方负。 五子棋是由两个人在一盘棋上进行对抗的竞技运动。在对局开始时,先由执黑棋的一方将一枚棋子的落在“天元”上,然后由执白棋的一方在黑棋周围的交叉点上落子。如此轮流落子直到某一方首先在棋盘的直线 横线或斜线上形成连续的五子或五子以上,则该方就算获胜。但是五子棋的特点是先行的一方优势很大。因此,在职业比赛种对黑方做了种种限制,以利公平竞争。黑白双方的胜负结果必须按照职业五子棋的规则要求来决定。2.1.3&五子棋常用术语&&& 二:二是五子棋的一切进攻的基础;又分为活二和死二。活二:即再下一子可形成活三的二,见图2。死二:即再下一子可形成死三的二,见图3。&&&&&& 三:三是五子棋最常见的攻击手段。三分为活三、死三、眠三。活三:为再下一子即可变成活四的三(活四介绍见后)。或三分为连三、跳三。见图4。我们通常所说的“三”。就是指活三而言。如果是死三,将特别指出。死三:即对方有棋子在同一条线相邻交叉点防守的三;死三分为三种。见图5。& 眠三:是死三的一种特性,它看上去相邻点没有对方棋子防守,很像活三,但由于受空间限制,不论如何发展都不可能称为活四,故称为“眠三“。见图5。
反三:反三不是指一种“三”的形状,而是指再阻止对方进攻的同时使自己称为一道活三的反攻,称为反三。
四:四的形状有三种,它分为:活四,冲四、跳冲四。活四:在同一条线上相连的四个同色棋子成为“连五”,如图6所示。
冲四:在同一条线上相连的相同颜色的四个棋子,它与活四不同的是,其中的一端有对方的棋子进行阻挡,它只有再在另一端下一手棋才可形成“连五”。
跳冲四:它的形状在“四”中是比较特殊的,一般分为两种,它的特点是同一条线上的同色的四个棋子,有一个或两个棋子与另外三个或两个棋子之间有一个交叉点的间隔,它的下一手棋只有下在间隔的交叉点上才能形成“连五”,因此,对方的棋子防守时,也只能阻挡在间隔的交叉点上,见图7。
如图8,黑棋在1点进攻,形成一子双杀,这时白棋的妙手是在a位活三,它同时阻挡了黑棋的两种取胜方法。当黑棋仍在c位跳冲四活三时,白棋即在b位阻断黑棋冲四并形成反冲四,是黑棋的进攻功亏一篑。一子双杀:指用同一手棋同时形成两个胜点的着法。&&&&&&&&&&&&&&&&&&&&&&&&&&& 追下取胜:是指白棋逼迫黑棋形成禁手而取胜的方法。自由获胜:除了追下取胜以外的获胜方法,称之为自由取胜。禁手(Forbidden):指黑方一子落下同时形成两个或两个以上的活三、冲四或形成长连的棋形,是对局中对黑棋禁止使用的战术或被判为负的行棋手段,见图15。白棋无禁手,如果黑子在落下的关键的第五子即形成五连的同时,又形成禁手。此时,因黑方已成连五,故禁手失效,黑方胜利。之所以这么规定也是为了规范比赛,其实我们业余的棋手,黑白棋子谁先下都不限制,只是先落子会有比较大的优势,另一方始终处于防守的被动状态。所以那一方先下子,他就有禁手,这是为了保持公平的一种手段。但是职业连珠五子棋虽然对黑棋采取了种限制,但是先行的一方优势依然很大。在高段位的比赛中还添加了一些规定,由于很少用到,就不必详细叙述了。
见图9。A、B、C 中的 x 点为三、三禁手。D、E 中的 X 点为四、四禁手。F中的 X 点为长连禁手。长连:相同颜色的连续六子或六子以上。 2.1.4&五子棋攻防五子棋是一项对抗性很强的运动,在开局进入五手两打后,就开始进入了白刃战,相互争夺先手,任何一方都不能掉以轻心,要尽可能少犯错误,甚至不犯错误,否则将会导致速败。众所周知,连珠五子,连五为胜。有四才能有五,有三才有四,以此类推。所以,在五子棋的对局众进攻和防守都是从“二”和“三”的争夺开始的。“好的开始是成功的一半”,这条格言用在五子棋里再合适不过了。五子棋的点的选择十分关键。五子棋实际上是通过选择最佳的落点,加上正确的落子次序,一步一步地占领各个要点,最终获得胜利。对局的早期,选点的着眼点主要是使本方的棋子保持联系,为以后创造尽可能多的成三、成四的机会,同时尽量限制对方成为好形。由于在五子棋对弈过程中,通过行棋落点来控制对方的落点是可能的,比如活三 冲四的应点是可以预知的,完全有可能通过不断走出这样的先手来控制对方的着点直至胜利。所以,在对局的后期,就要在精确计算的前提下,尽早发动攻势,以取得棋局的控制权,否则一旦贻误战机,被对方抢先发动攻势,就会成为被控制的一方。当有多个攻击点可供选择时,要选择后续手段多,又不会被对方反先的着点。如果是黑方,还特别要注意进攻终被对方反击时出现的各种禁手点的可能性。&&&&&&&&&&&&&&&&&&&&& 进攻分为单攻棋和双攻棋,单攻棋指单线即单行或单向的攻棋子,包括三子攻棋(活三、填四)和四子攻棋(冲四、填五)。而双攻棋指双向或双行的攻棋。包括三、三攻棋(双活三、双填四、填四活三);四、三攻棋(冲四活三、冲四填四、填五活三、填五填四);四四攻棋(双冲四、双填五、填五冲四)。五子棋的取胜思路是由一个子开始,目标是运用各种方法在棋盘上发展出五连乃至长连而取胜。在这个发展过程中必然要经过由一子到两子 两子到三子 三子到四子的过程。因此说,把各种形状和各个方面上的二 三 四等子力结构烂熟于胸,做到举一反三,是学习五子棋的基本功,更是能灵活运用五种取胜技巧的基础。

我要回帖

更多关于 java五子棋判断输赢 的文章

 

随机推荐