直线匹配
将同一类型的棋子加入行遍历列表,若最终行遍历(左,右)列表 >= 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