怎样写下五子棋活动过程的过程

五子棋的电脑判断怎么写?_百度知道
五子棋的电脑判断怎么写?
想写一个五子棋游戏,但电脑的判断不怎么该怎么写,知道的说下
提问者采纳
开始我把横、竖、撇、捺4个方向的落子情况组合起来,按这个情况定义优先级。落子的时候遍历所有空位,然后在优先级最高的集合中随机取点。这样的算法已经很容易战胜初级选手。后来用递归写了一个我认为无法战胜的版本,根本出不来,效率太低了,也不知道行不行,没法测试。 至于判断落子情况,我的做法是以当前空位为中心,取9个点,然后将空点定义为黑或白,去判断格式。我用二维数组定义格式,然后和实际情况比对。比如黑5的格式:{ { 1, 1, 1, 1, 1 } }。这简单极了,但是越少就越困难,比如白棋活3,情况就多多了:{ { 0, 0, 2, 2, 2, 0 }, { 0, 2, 2, 2, 0, 0 }, { 0, 2, 0, 2, 2, 0 }, { 0, 2, 2, 0, 2, 0 } }。{ 0, 0, 2, 2, 2, 0 }为什么不是{ 0, 2, 2, 2, 0 }呢?很明显,如果前者第1个0是1的话,那么这个3再下一步会形成死4,所以还是算它死3比较合理。 至于最后组合的情况呢,那就是真正的逻辑问题了,这块儿简直好玩儿极了!比如我方有5,毫无疑问我把它设成最高,而对方5紧接其后,其次就是我方活4了,但是有特殊情况,黑44nn,黑433n,这个优先级置负,这样就不会禁手了。这4个方向的组合情况好多种,不过还是手动定义比较好,在开始的时候需要很大的可维护性,因为我总把它写错,哈哈。另外就是不要1、2、3、4、5,这样不利于维护,虽然你确实可以第一次就写完整,我也建议、、5000。另外就是黑白共同算的问题,除了必杀之外,还会有很多其它的情况,考虑到攻守结合,就要吧黑白一起算里边,这样才更可靠。比如黑3白3要高于黑3白2,这样对手就不能冲这步棋了。 总之,我的逻辑依然漏洞百出,只是给你举例说明一下儿,所以你还要自己探索。我们可以随时交流,你一定也是喜欢程序逻辑。玩儿得愉快!
其他类似问题
为您推荐:
五子棋的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁大家来看看,能不能下赢我写的五子棋程序
[问题点数:100分,结帖人jj]
大家来看看,能不能下赢我写的五子棋程序
[问题点数:100分,结帖人jj]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关推荐:
2009年12月 VC/MFC大版内专家分月排行榜第一2009年11月 VC/MFC大版内专家分月排行榜第一2009年10月 VC/MFC大版内专家分月排行榜第一2009年9月 VC/MFC大版内专家分月排行榜第一
2009年8月 VC/MFC大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。六年级上册语文第八单元作文写下五子棋_百度作业帮
六年级上册语文第八单元作文写下五子棋
六年级上册语文第八单元作文写下五子棋
还有第八单元?}

我要回帖

更多关于 五子棋活动过程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信