我也想看,呵呵,wawacry@qq.com 这个对五子棋比较精通才能写好吧 我觉的可以将走步看成是对一个多叉树的遍历,在树的层次上应该是黑白棋交替,即若第一层是白子,那么第二层则是黑子,这棵树每次生成一层节点,也就是白子或者黑子走一次,一层中包含子的数量就是可能的走步,判断生成每个节点时白棋或者黑棋是否连成线(5个),若连成线,则退出。回溯可能是这样的,若想白棋赢,这个算法若找到了白棋赢的树路径,则退出算法,若找到了黑棋赢,那么这条路径配兄是不可行的,要回溯到上层节点继续遍历。这个算法若用穷举法,你的棋盘有15*15=225个位置,那么可能要比较的次数会是225*224*223*......,估计这个算法是不可能实现的吧,要简化就要根据经验,对树做剪枝,减少比较次数。这些经验像下面这样:若甲方已经有三个子连成线,那么乙方在没有三个子连成线的情况下只能有两种走法,也就是堵三,若乙方有三个子连成线,那么会多出做纯可选位置,也就是冲四的位置。若甲方有四培胡袭子连线,当然一头是堵住的,那么乙方只能有一个位置可以选择。可以看一些五子棋高手的经验,将这些经验写到程序中去。以上是突然想出来的,呵呵,希望大家共同讨论
版权声明:文章由 百问九 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.baiwen9.com/life/243561.html