swordio
Version:
A medieval warrior-based programming language
28 lines (20 loc) • 795 B
JavaScript
var util = require('../util');
function FlimsyForwardDeflectorCell(map) {
this.map = map;
}
FlimsyForwardDeflectorCell.type = ")";
FlimsyForwardDeflectorCell.prototype.encounter = function(enemy, vector) {
var targetX = this.x + vector.x;
var targetY = this.y + vector.y;
var stringValue = this.map.get(targetX, targetY).type;
var numberValue = stringValue.charCodeAt(0) - 32;
// rotate anticlockwise
enemy.direction--;
if (enemy.direction < 0) enemy.direction = 3;
var newVector = util.directionVectors[enemy.direction];
enemy.x = targetX;
enemy.y = targetY;
this.map.set(targetX, targetY, String.fromCharCode(numberValue + 31));
if (numberValue <= 1) this.map.set(this.x, this.y, " ");
};
module.exports = FlimsyForwardDeflectorCell;