namastejs
Version:
A spiritual greeting from your JavaScript code. Because every function deserves a 'Namaste 🙏'
33 lines (27 loc) • 849 B
JavaScript
const { BULLET_COOLDOWN, SCREEN_HEIGHT } = require("./config");
const createBullet = require("./entities/bullet");
module.exports = function initInput(state) {
process.stdin.on("data", (key) => {
const k = key.toString();
if (k === "\u0003") {
state.running = false;
process.exit();
}
if (k === "a" || k === "\u001b[D") {
state.player.x = Math.max(0, state.player.x - 1);
}
if (k === "d" || k === "\u001b[C") {
state.player.x = Math.min(
require("./config").SCREEN_WIDTH - 1,
state.player.x + 1
);
}
// 🔥 SPACE TO SHOOT
if (k === " ") {
if (state.bulletCooldown === 0) {
state.bullets.push(createBullet(state.player.x, SCREEN_HEIGHT - 2));
state.bulletCooldown = BULLET_COOLDOWN;
}
}
});
};