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

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

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

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

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


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

 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值