关于五子棋最初人机思路(未完)

1.遍历棋盘,找到最初下的棋子a(人下黑色)
2.(因为只下了一颗棋子)给棋子周围几个点附加上权值,认为有8个这样的点,取出,随机取出一个点,下出
3.(我们可以认为现在有两个棋子,其中一个为人所下,一个为电脑所下)人将会在下一颗棋子(位置不是固定的),再次遍历棋盘,找出按遍历顺序找到的第一颗棋子,接下来便是由四个判断(判断输赢当中的四个方法,即上下左右两个斜上斜下),然后做出判断。
4。假设人在第一颗棋子的右侧下了一颗棋子(),那么判断后便会找出第二颗棋子,此时再作出判断,第一颗棋子的左侧与第二课棋子的右侧是否有白棋,若有即为死二连,若无即为活二连。再根据附加权值的方法,给死二连的另一侧附加一个权值,活二连的两端附加一个权值。
5.此时,根据找出权值数组的最大值所在的位置下一颗白棋
6.以后会发生的情况 

(1)死三连

(2)活三连

(3)活四连

(4)死四连
           依旧是同样的判断方法,依据的权值最大为所下棋子的位置  
           附加权值的方法

(1)活二连  5

(2)死二连 3

(3)活三连 20

(4)死三连 8

(5)活死四连 25
7.但是这样的判断会有一个bug,那就是所遍历的第一个棋子 与后面的棋子毫无关系怎么办
  我想出的解决方法是 如果所遍历得到的第一个棋子的周围8格没有任何联系  则在此基础上继续遍历  再采用刚才的方法进行判断

猜你喜欢

转载自137930562-qq-com.iteye.com/blog/1722538