人机博弈之(三)------走法产生

原创 2007年09月23日 15:42:00

走法产生是指将一个局面的所有可能的走法罗列出来的那一部分程序。是用来告诉其他部分下一步可以往哪里走的模块。走法产生

的复杂程度也有很大的区别。例如在五子棋的棋盘上的任意空白点都是合法的下一步。这样五子棋的走法产生模块丽,只要扫描棋

盘,寻找到所有的空白即可。而在中国象棋中,就要仔细地判断,因为不同的棋走的规则不一样,所有需要检测走法的合法性。
那中国象棋为例,首先要扫描棋盘。如果某一个位置上是一个红方棋子,则根据该棋子的类型找出该棋子的所有可的走位。例如:

象走田字格,一般的做法是这样判断的
1.现检查该棋子周围与该棋子横纵标的绝对值为2的位置是否在己方棋盘上,如果某个点超出了己方半边棋盘,将其去除。
2.检查剩下的位置上是否有己方的棋子,如有将其去除。
3.检查剩下的位置方向上与该棋子横纵坐标的绝对值均为1的象眼上是否有棋子,如有将其去除。
4.剩下的位置即为合法走位。


由于象棋走法比较复杂,所以导致在搜索过程中频繁的繁琐判断。这样使得程序的性能不乐观。
不过还可以事先把合法走位存入数据库中,等在用的时候在提取出来,判断!

 

中国象棋人机对弈搜索算法学习-极大极小值,负极大值,alpha-beta算法

先参考学习如下博文: http://blog.csdn.net/kingkong1024/article/details/7639401 http://hk.gamfe.com/news/2015...
  • qq_26437925
  • qq_26437925
  • 2016年04月07日 18:48
  • 2371

人机博弈之(一)------博弈介绍

       爱好编程的大部分还是喜欢自己编写一个游戏,但较少是编写和电脑对战的游戏,因为里面毕竟涉及博弈,搜索等技术,我想来通编写一个人机博弈的中国象棋游戏,希望从中收获些东西。参考书是王小春编著的...
  • dremi
  • dremi
  • 2007年09月23日 15:36
  • 2819

中国象棋的人机博弈程序

对此题目有兴趣的朋友们:    感谢你们抽出宝贵的时间来阅读这些浅显的文字。    很多人可能都知道chess的人机大战:     1996年,卡斯帕罗夫以4比2战胜“深蓝”(Deep Blue); ...
  • shaozz
  • shaozz
  • 2009年03月10日 09:53
  • 1118

五子棋人机对弈代码——之博弈树算法

#include #include #include #include /* Program of Game -- wuziqi Written by Zhang shuai, DEC.25t...
  • handsomesunshineboy
  • handsomesunshineboy
  • 2011年02月09日 07:03
  • 13156

人机博弈-吃子棋游戏(三)走法生成

人机博弈-吃子棋游戏(三)走法生成,介绍吃子棋的走法生成算法
  • zjq2008wd
  • zjq2008wd
  • 2014年10月17日 13:41
  • 916

java五子棋人机对战算法分析

五子棋人机对战采用的算法,目前大都是搜索树算法,用一棵树来表示棋局发展的 种种可能性,这种树叫做博弈树(对局树)。根节点表示对局的开始状态,每一种可 能的走法造成的结果作为其子节点,而对每一个这样的子...
  • zzzypp
  • zzzypp
  • 2015年01月13日 15:59
  • 3971

人机博弈之(六)------代码实现(2)走法产生器

package movegenerator;//走法产生器import constdata.ConstData;import chessmovedata.ChessMoveData;//一个走法的结构...
  • dremi
  • dremi
  • 2007年09月23日 16:12
  • 1652

javascript人机博弈--黑白棋

最近,在研究计算机人工智能中人机博弈的一些算法,用javascript写了个人机对战的 黑白棋 游戏。 放上来大家帮忙测试一下,看看棋力强度怎么样,有没有bug,走昏招之类的。 这程序主要在研...
  • jslang
  • jslang
  • 2015年07月01日 17:48
  • 1865

java 五子棋之人机对战思路详解

最近做了五子棋,记录下自己完成五子棋的人机对战的思路。     首先,思路是这样的:每当人手动下一颗棋子(黑子)的时候,应当遍历它周围棋子的情况,并赋予周围棋子一定的权值,当在机器要下棋子(白子)...
  • skl_TZ
  • skl_TZ
  • 2013年07月06日 21:24
  • 3823

【源码】斗地主人机对战程序算法2012完整版

点宽即时通讯(DOTWIDE)通讯员(陈飞飞),我尽情享受阳光的照射和海风的吹拂,我连忙按键盘,我最喜欢的就是小马车了,妈妈带我去乡下奶奶家,雨水在树叶上留下了亮晶晶的小水珠,可美了,原来是谭老师邀请...
  • i_like_cpp
  • i_like_cpp
  • 2012年12月13日 12:00
  • 2561
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:人机博弈之(三)------走法产生
举报原因:
原因补充:

(最多只允许输入30个字)