W prototypie, który robię, jest mini-gra podobna do bejeweled. Używając siatki, która jest tablicą 2d ( int[,]
), skąd mam wiedzieć, kiedy użytkownik utworzył dopasowanie? Dbam tylko o poziomo i pionowo.
Z czubka głowy myślałem, że po prostu spojrzę w każdym kierunku. Coś jak:
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)
//...
Wydaje się, że powinien istnieć lepszy sposób. Jest tu?