嵌套 for 循环不起作用

Nested for loop not working

我有这个代码

var draw = function() {
var bx = 0;
var by = 0;
//height
for (var i = 0; i < 11; i++) {
    //width
    for (var s = 0; s < 10; s++) { 
        block(bx,by,air);
        bx = bx + 50;
    }
    by = by + 50;
} 

发生的事情是当我 运行 draw() 它应该在 10 x 10 图的整个部分绘制正方形。然而,这种情况并非如此。一切都搞砸了,我不知道发生了什么。

注意:这是使用 processing.js。你可以在这里找到完整的代码:https://www.khanacademy.org/computer-programming/mc-10/4727460304912384

您需要在每次迭代时重置bx

for (var i = 0; i < 11; i++) {
    bx = 0;
    for (var s = 0; s < 10; s++) { 
        block(bx,by,air);
        bx = bx + 50;
    }
    by = by + 50;
} 

不要为迭代和绘图使用单独的变量。

var width = 50;
for (var by = 0; by < 11 * width; by += width) {
    for (var bx = 0; bx < 10 * width; bx += width) {
        block(bx, by, air);
    }
}

或:

var width = 50;
for (var i = 0; i < 11; i++) {
    for (var s = 0; s < 10; s++) { 
        block(s * width, i * width, air);
    }
}