在下完一步棋后,自然要判断这步棋所产生的吃对方棋子情况。为了便于接下来处理玩家下完棋之后电脑判断怎么下,先将我写的有关棋子被吃掉的函数写出来。有点被其搞晕了。呜呼!废话不多说,直接思路。如果逻辑有错误,请助我改正下。嘿嘿。
一:实现思路
现假设刚蓝方下了一步棋,正检测红棋是否有棋子会被吃掉。(里面涉及一些数组名字,如果不懂意思以及作用,可先跳到后面看看)
1、按顺序取出红方其中一颗棋子redLocation(最多6颗);
2、redLocation加入到数组connectedChessmans中;
3、获取棋子redLocation的邻结点nearPoint(可能有多个邻结点);
4、判断nearPoint的类型:
(1)判断redLocation是否在notNeedEated中,如果在显然不需要再验证,回到(1)。(此步骤是防止当连着的棋子重复被加入到notNeedEated数组中)
(2)判断nearPoint是否在数组notNeedEated中,如果在,说明nearPoint为己方棋子,并且不应该被吃掉,则其邻结点(亦当前需要检测的点redLocation)不需要被吃掉,将其加入到数组notNeedEated,并继续取出下一颗红棋,即回到(1);
(3)如果该点(nearPoint)为空,说明redLocation以及这次检测与其相连的点(即connectedChessmans中),不应该被吃掉,将其加入到数组notNeedEated中,继续取出下一颗红棋,即回到(1);
&#x