Skip to content

Instantly share code, notes, and snippets.

@you-think-you-are-special
Last active April 3, 2019 10:18
Show Gist options
  • Save you-think-you-are-special/fab43fe3e6d0ed356fd5 to your computer and use it in GitHub Desktop.
Save you-think-you-are-special/fab43fe3e6d0ed356fd5 to your computer and use it in GitHub Desktop.
var n = 7;
var center = Math.round(n / 2);
var steps = 1;
var stepCnt = n * n;
var y = center;
var x = center;
var getPos = (function* getPos() {
while (true) {
yield 'up'
yield 'right'
yield 'down'
yield 'left'
}
})();
console.log(x, y)
for (var i = 0; i < stepCnt; i++) {
var pos = getPos.next().value;
for (var j = 0; j < steps; j++) {
switch (pos) {
case 'up':
y--
break;
case 'down':
y++
break;
case 'right':
x++
break;
case 'left':
x--
break;
}
stepCnt--
if (y) {
console.log(x, y)
}
}
stepCnt++
if (i % 2) {
steps++
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment