Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何从2D数组中获得旋转的方形坐标?_Arrays_2d_Coordinates - Fatal编程技术网

Arrays 如何从2D数组中获得旋转的方形坐标?

Arrays 如何从2D数组中获得旋转的方形坐标?,arrays,2d,coordinates,Arrays,2d,Coordinates,我有一个二维数组。初始点是中心的红色点。 在每一步中,我需要得到蓝点的坐标,然后是绿点,然后是红点,最后是灰点(取决于作为参数给出的步数…在本例中为…4) 我需要做一个得到坐标的方法。应该是这样的 void setDilation(int x, int y, int level) { int score = 0; if(level== 0) return; if(x<0 || x==arraySize) return; if

我有一个二维数组。初始点是中心的红色点。 在每一步中,我需要得到蓝点的坐标,然后是绿点,然后是红点,最后是灰点(取决于作为参数给出的步数…在本例中为…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);
}
void集膨胀(int x,int y,int level){
智力得分=0;
如果(级别==0)
回来
如果(x=0)
分数++;
其他的
分数--;
如果(myArray[x][y-1]>=0)
分数++;
其他的
分数--;
如果(myArray[x][y+1]>=0)
分数++;
其他的
分数--;

如果(欢迎使用SO!您提供的示例链接已断开。另外,请发布您尝试过的内容,肯定会有人提供帮助。请查看上的“帮助”部分,并相应更新您的帖子。:)您的
setdigilation
方法递归调用缺少
color
参数。已完成。我将其作为参数删除以保持方法简单,但忘记将其从参数列表中删除。我对其进行了编辑。