Tile Offset Algorithm
by truefreestyle
JavaScript
// Based on a StackOverflow answer by Jeremy Robson http://goo.gl/lFE7O
var BOARD_SIZE = 21;
CENTER = Math.floor(BOARD_SIZE / 2);
function setMovement (speed, offset) {
speed = speed + offset;
var matrix = [],
distance,
i,
j;
for (i = 0; i < BOARD_SIZE; i++) {
matrix.push([]);
for (j = 0; j < BOARD_SIZE; j++) {
distance = Math.abs(i - CENTER) + Math.abs(j - CENTER);
if (distance < speed && distance >= offset) {
matrix[i][j] = 1;
} else {
matrix[i][j] = 0;
}
}
$('#result').append(matrix[i].join(', ') + '<br/>');
}
}
setMovement(3, 1);