甜品消消乐 13 匹配的核心算法

本文详细介绍了甜品消消乐游戏中实现13匹配的核心算法,包括直线匹配策略。首先,通过行遍历检查同一类型棋子,若达到3个以上则消除;若不足,则转为列遍历。接着,完成列匹配后,进行L型和T型的特殊匹配检测,确保游戏逻辑的完整性和趣味性。
摘要由CSDN通过智能技术生成

直线匹配
将同一类型的棋子加入行遍历列表,若最终行遍历(左,右)列表 >= 3,消除棋子。
<3则进行列遍历,将同一类型的棋子加入列遍历列表。

//匹配方法
public List<GameSweet> MatchSweets(GameSweet sweet,int newX,int newY)
{
   
  if (sweet.CanColor()) //可进行交换处理的甜品
  {
   
    ColorSweet.ColorType color = sweet.ColoredComponent.Color;
    List<GameSweet> matchRowSweets = new List<GameSweet>(); //行匹配列表
    List<GameSweet> matchLineSweets = new List<GameSweet>();//列匹配列表
    List<GameSweet> finishedMatchingSweets = new List<GameSweet>();//完成匹配列表

   //行匹配
   matchRowSweets.Add(sweet);
   //i为0 的时候 往左遍历 为1的时候往右边遍历
   for (int i = 0; i <= 1; i++)
   {
   
     //往左依次递减  //往右依次递加 xDistance偏移量
     for (int xDistance = 1; xDistance < xColumn; xDistance++)
     {
   
       int x;//偏移之后要判断的位置
       if 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值