如何在二维数组中循环一圈值?

Str*_*tch 3 for-loop actionscript-3 multidimensional-array

通过2d数组的方形部分循环很容易,但是如何循环圆形部分?

fiz*_*ban 8

我这样做的方法是做一个双循环,就像你通常循环遍历2d数组一样.但是,在此循环内,使用距离公式检查所讨论的数组元素是否在半径为r的圆内.

例如,给定一个10x10数组,并在(x,y)处选择数组的"中心":

for i from 0 to 9 {
    for j from 0 to 9 {
        a = i - x
        b = j - y
        if a*a + b*b <= r*r {
            // Do something here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

(代码只是伪代码,不是任何特定的语言).