我有一个2D数组。最初的一点是中心的红色点。 在每一步我需要获得蓝点的坐标,然后是绿点,之后红色的点最后是灰色点(取决于作为参数给出的步数...在这种情况下...... 4)
我需要制作一个获取坐标的方法。它应该看起来像这样
void setDilation(int x, int y, int level) {
int score = 0;
if(level== 0)
return;
if(x<0 || x==arraySize)
return;
if(y<0 || y==arraySize)
return;
if(myArray[x-1][y] >= 0)
score++;
else
score --;
if(myArray[x+1][y] >= 0)
score++;
else
score --;
if(myArray[x][y-1] >= 0)
score++;
else
score --;
if(myArray[x][y+1] >= 0)
score++;
else
score --;
if (score<0)
score = 0;
}
myArray[x][y] = score;
setDilation(x-1, y ,level-1);
setDilation(x+1, y ,level-1);
setDilation( x ,y-1,level-1);
setDilation( x ,y+1,level-1);
}
照片:
代码排序工作,但它返回到访问坐标并再次增加其分数,而且我无法控制数组的探索方式。
谢谢!