Dans un prototype que je fais, il y a un mini-jeu similaire à bejeweled. En utilisant une grille qui est un tableau 2D ( int[,]
), comment puis-je savoir quand l'utilisateur a formé une correspondance? Je me soucie seulement horizontalement et verticalement.
Du haut de ma tête, je pensais que je ne ferais que regarder chaque direction. Quelque chose comme:
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)
//...
Il semble qu'il devrait y avoir une meilleure solution. Y a-t-il?