cocos2d-x游戏实例 《简单棋》入门尝试(六) 棋子吃子情况判定

本文介绍了在cocos2d-x游戏中,如何实现棋子吃子情况的判断逻辑。首先,阐述了实现思路,包括按顺序检查红方棋子,判断邻接点类型,防止重复验证。接着详细说明了具体实现过程,包括定义数据结构和实现关键函数。通过调用GetNeedEated函数,可以得知哪些棋子需要被吃掉。
摘要由CSDN通过智能技术生成

在下完一步棋后,自然要判断这步棋所产生的吃对方棋子情况。为了便于接下来处理玩家下完棋之后电脑判断怎么下,先将我写的有关棋子被吃掉的函数写出来。有点被其搞晕了。呜呼!废话不多说,直接思路。如果逻辑有错误,请助我改正下。嘿嘿。

一:实现思路

现假设刚蓝方下了一步棋,正检测红棋是否有棋子会被吃掉。(里面涉及一些数组名字,如果不懂意思以及作用,可先跳到后面看看)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值