В прототипе, который я делаю, есть мини-игра, похожая на bejeweled. Используя сетку, которая является двумерным массивом ( int[,]
), как узнать, когда пользователь сформировал совпадение? Я забочусь только о горизонтально и вертикально.
Сверху головы я думал, что просто посмотрю каждое направление. Что-то вроде:
int item = grid[x,y];
if(grid[x-1,y]==item)
{
int step=x;
int matches =2;
while(grid[step-1,y]==item)
{
step++;
matches++
}
if(matches>2)
//remove all matching items
}
else if(grid[x+1,y]==item
//....
else if(grid[x,y-1==item)
//...
else if(grid[x,y+1]==item)
//...
Кажется, должен быть лучший способ. Есть?