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

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

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

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

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

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


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

 

相关文章推荐

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

人机博弈-吃子棋游戏(三)走法生成,介绍吃子棋的走法生成算法

UCT(信心上限树算法)解四子棋问题——蒙特卡罗法模拟人机博弈

虽说UC

hdu 1850 Being a Good Boy in Spring Festival (Nim博弈求第一步走法数)

Being a Good Boy in Spring FestivalTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/327...

PC游戏编程(人机博弈)

  • 2013年11月25日 23:06
  • 11.01MB
  • 下载

JAVA 五子棋 人机博弈

  • 2013年05月16日 22:45
  • 9.41MB
  • 下载

人机博弈-吃子棋游戏(二)算气

介绍人机博弈-吃子棋游戏,算气算法,此算法也可应用到围棋中。

PC游戏编程(人机博弈)

  • 2012年12月10日 00:25
  • 8.44MB
  • 下载

PC游戏编程(人机博弈)

  • 2011年08月05日 10:41
  • 2.15MB
  • 下载

人机博弈-吃子棋游戏(四)搜索算法

人机博弈,吃子棋搜索算法简介

PC游戏编程_人机博弈_pdf_src

  • 2008年03月06日 16:08
  • 3.89MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:人机博弈之(三)------走法产生
举报原因:
原因补充:

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