In einem Prototyp, den ich gerade mache, gibt es ein Minispiel, das bejeweled ähnelt. int[,]
Wie kann ich mithilfe eines Rasters, das ein 2d-Array ( ) ist, feststellen, wann der Benutzer eine Übereinstimmung gebildet hat? Mir geht es nur um horizontal und vertikal.
Von oben dachte ich, ich würde einfach in jede Richtung schauen. Etwas wie:
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)
//...
Es scheint, als gäbe es einen besseren Weg. Gibt es?