现在的位置: 首页 > 综合 > 正文

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

2013年10月01日 ⁄ 综合 ⁄ 共 460字 ⁄ 字号 评论关闭

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

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

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

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

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

 

抱歉!评论已关闭.