Skip to content

Instantly share code, notes, and snippets.

@nazomikan
Created September 21, 2012 17:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nazomikan/3762758 to your computer and use it in GitHub Desktop.
Save nazomikan/3762758 to your computer and use it in GitHub Desktop.
Processing division < javascript1.7
(function () {
var queue;
queue = createQueue(0, 0, 100, 100, 25, function (xMin, yMin, xMax, yMax) {
var x, y;
for (x = xMin; x < xMax; x++) {
for (y = yMin; y < yMax; y++) {
// do someThing
}
}
});
// lazy output
(function lazyLoop(i) {
var task = queue[i++];
task();
if (i < queue.length) {
setTimeout(function () {
lazyLoop(i);
}, 50);
}
}(0));
function createQueue(startW, startH, endW, endH, delta, callback) {
var queue = [], startX, startY, endX, endY, xz, yz;
for (startY = startH, endY = endH; startY < endY; startY) {
for (startX = startW, endX = endW; startX < endX; startX) {
xz = ((endW < startX + delta) ? endW : startX + delta);
yz = ((endH < startY + delta) ? endH : startY + delta);
queue.push(function (x, y, xz, yz) {
return function () {
callback(x, y, xz, yz);
};
}(startX, startY, xz, yz));
startX = xz;
}
startY = yz;
}
return queue;
/*
return [
function () {
callback(0, 0, 25, 25);
},
function () {
callback(25, 0, 50, 25);
},
function () {
callback(50, 0, 75, 25);
},
function () {
callback(75, 0, 100, 25);
},
function () {
callback(0, 25, 25, 50);
},
function () {
callback(25, 25, 50, 50);
},
function () {
callback(50, 25, 75, 50);
},
function () {
callback(75, 25, 100, 50);
},
function () {
callback(0, 50, 25, 75);
},
function () {
callback(25, 50, 50, 75);
},
function () {
callback(50, 50, 75, 75);
},
function () {
callback(75, 50, 100, 75);
},
function () {
callback(0, 75, 25, 100);
},
function () {
callback(25, 75, 50, 100);
},
function () {
callback(50, 75, 75, 100);
},
function () {
callback(75, 75, 100, 100);
}
];
*/
}
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment