@real_one_chess_king/game-logic
Version:
R.O.C.K. chess game logic
24 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DiagonalMovementRule = void 0;
const affect_utils_1 = require("../../affect/affect.utils");
const movement_rule_1 = require("./movement-rule");
const straight_movement_rule_1 = require("./straight-movement.rule");
class DiagonalMovementRule extends straight_movement_rule_1.StraightMovementRule {
constructor({ id, name, moveToEmpty, moveToKill, collision, distance, directions, speed = 1, }) {
super(id, name, moveToEmpty, moveToKill, collision, distance, directions, speed);
}
possibleDirrections = [
movement_rule_1.Direction.UpLeft,
movement_rule_1.Direction.UpRight,
movement_rule_1.Direction.DownLeft,
movement_rule_1.Direction.DownRight,
];
calculateNewCoord = (x, y, diff, dirrection) => {
return [
(0, affect_utils_1.markAsUserSelected)((0, affect_utils_1.buildMoveAffect)([x, y], (0, straight_movement_rule_1.directionToVector)(dirrection, x, y, diff))),
];
};
}
exports.DiagonalMovementRule = DiagonalMovementRule;
//# sourceMappingURL=diagonal-movement.rule.js.map