黑白棋算法分析(一)

刚才去QQ黑白棋上和别人下了几局,关于黑白棋的下法总结了一下,准备写人机对战程序了~:

黑白棋和五子棋不同,棋盘各点的权值不是单纯的通过连子数决定,还和所下位置有很大关系!

这个是黑白棋的棋盘:



黑白棋算法分析(一)
  

黑白棋游戏的核心就是要抢占四个角!因为只要放到了角上,就不会被改变了。这就是“金角银边草肚皮”说法的由来

金角:

角的权值应设为最大。

相对应的,和四个角相邻的格子

如果棋子下在了边上,只能被和他在同边上的棋子改变颜色,所以权值也要设高(if(和角相邻)权值减少),相应的,和边相邻的位置权值要设的低一些

草肚皮:

中间一圈较为安全,初始设置为小值。

下面附上棋盘分析图:
黑白棋算法分析(一)
  

红星:能下必下

红叉:尽量不下

红线:能下就下

黑叉:不到万不得已不下

黑线:最好不下

绿线:能下就下

 

这就是我想的棋盘初始状态下的棋盘权值设定。

具体的权值再根据场上的形势而定~

还有一个技巧——嵌子

嵌子:布子于边上对方2子之间,同时在其他地方向上夹吃对方棋子,称为嵌入。嵌入的棋子不但自身安全,而且能在以后的战斗中发挥重要作用。对局中要随时抓住嵌入的机会。

这个要怎么实现再想吧~先睡觉了~~哈~~

你可能感兴趣的:(游戏)