java 五子棋人机对战如何实现?

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:48:21
我做了一个JAVA的五子棋程序,但是不知道怎么做人机对战的部分,求相关算法,或者论文。

楼下那个在瞎扯,,,那个视频我看过,是人直接操作的。。。

你这个当然设计AI了。。。具体做到什么程度看你需要电脑智商多高。

大体思路这样。。主要是分数的衡量。。

首先。人走过之后,电脑扫描整个棋盘,判断哪些地方会有连三、连四
(专业术语叫什么我就不知道了。。嘿嘿)。。然后你自己定义一个分值表,给这些点打上分,并选择最有威胁的点“试探性”的走上一步,这里说的试探,其实就是递归搜索啦。。好像专业棋手一般要20层,具体多少要看你想要什么难度的。

所以难得地方,就在于棋力的衡量,我五子棋没什么研究,不过我知道,专业的五子棋软件都是自带定式库的。。这个你个人是不可能实现了,象征性的做个定式表就行了,弄上常见的像什么活三、死三之类的。

然后难度就在于怎么对搜索加速了,我觉得至少也得递归七八层吧。。。具体算法就不知道了,反正肯定不会是简单的DFS啦~~~嘿嘿。。。。。

我在CSDN上看到一个特别有名的帖子。。推荐你去看看。。貌似和我说的差不多,不过也没什么什么名堂出来,不过他里面提到过什么软件,你可以下载了看一看

那个帖子粘出来你肯定一顿bs。。你自己搜下吧。。。
还有这个帖http://topic.csdn.net/t/20001021/09/35626.html
有基本思路和数据结果,主要是还有一个打分的标准,可以参考一下

http://zhidao.baidu.com/question/29339396.html?fr=qrl3