嵌套 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);
}
}
我有这个代码
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);
}
}