function getMoves(blockType) { // used for highlighting blocks
var blockList = {
'base': function () { return [[-1,-1], [0,-1], [1,-1], [-1, 0], [1, 0], [-1, 1], [0, 1], [1, 1]]; },
'star': function () { return [[-1,-1], [0,-1], [1,-1], [-1, 0], [1, 0], [-1, 1], [0, 1], [1, 1]]; },
'ostar': function () { return [[-2,-2], [0,-2], [2,-2], [-2, 0], [2, 0], [-2, 2], [0, 2], [2, 2]]; }, // A dictionary of functions is not a bad idea,
'p1': function () { return [[-1,-1], [0,-1], [1,-1], [-1, 0], [1, 0], [-1, 1], [0, 1], [1, 1]]; }, // but it's probably better to not to allocate one EVERY CALL
'p2': function () { return [[-1,-1], [0,-1], [1,-1], [-1, 0], [1, 0], [-1, 1], [0, 1], [1, 1]]; },
'plus': function () { return [[0,-1], [-1, 0], [1, 0], [0, 1]]; },
'oplus': function () { return [[0,-2], [-2, 0], [2, 0], [0, 2]]; },
'cross': function () { return [[-1,-1], [1,-1], [-1, 1], [1, 1]]; },
'ocross': function () { return [[-2,-2], [2,-2], [-2, 2], [2, 2]]; },
'hbar': function () { return [[-1, 0], [1, 0]]; },
'ohbar': function () { return [[-2, 0], [2, 0]]; },
'vbar': function () { return [[0, -1], [0, 1]]; },
'ovbar': function () { return [[0, -2], [0, 2]]; },
'tlbr': function () { return [[-1, -1], [1, 1]]; },
'otlbr': function () { return [[-2, -2], [2, 2]]; },
'bltr': function () { return [[-1, 1], [1, -1]]; },
'obltr': function () { return [[-2, 2], [2, -2]]; },
'arrow1': function () { return [[-1, 1]]; },
'arrow11': function () { return [[-2, 2]]; },
'arrow2': function () { return [[0, 1]]; },
'arrow22': function () { return [[0, 2]]; },
'arrow3': function () { return [[1, 1]]; },
'arrow33': function () { return [[2, 2,]]; },
'arrow4': function () { return [[-1, 0]]; },
'arrow44': function () { return [[-2, 0]]; },
'arrow6': function () { return [[1, 0]]; },
'arrow66': function () { return [[2, 0]]; },
'arrow7': function () { return [[-1, -1]]; },
'arrow77': function () { return [[-2, -2]]; },
'arrow8': function () { return [[0, -1]]; },
'arrow88': function () { return [[0, -2]]; },
'arrow9': function () { return [[1, -1]]; },
'arrow99': function () { return [[2, -2,]]; },
'blockade': function () { return [[]]; },
'blank': function () { return [[]]; },
'ice': function () { return [[]]; },
'knight': function () { return [[1, 2], [2, 1], [-1, 2], [2, -1], [1, -2], [-2, 1], [-1, -2], [-2, -1]]; },
'mine': function () { return [[]]; },
'reclaim': function () { return [[]]; }
};
if (typeof blockList[blockType] !== 'function') {
console.log ("SHIT! SHIT!"); // cool error messages dude
throw new Error('Invalid action.');
}
return blockList[blockType]();
}