namastejs
Version:
A spiritual greeting from your JavaScript code. Because every function deserves a 'Namaste 🙏'
56 lines (44 loc) • 1.03 kB
JavaScript
const {
SCREEN_WIDTH,
ENEMY_MOVE_INTERVAL,
SCREEN_HEIGHT,
} = require("../config");
function moveEnemies(state) {
state.enemyMoveTick++;
if (state.enemyMoveTick < ENEMY_MOVE_INTERVAL) return;
state.enemyMoveTick = 0;
let hitWall = false;
state.enemies.forEach((e) => {
if (!e.alive) return;
e.x += state.enemyDirection;
if (e.x <= 0 || e.x >= SCREEN_WIDTH - 1) {
hitWall = true;
}
});
if (hitWall) {
state.enemyDirection *= -1;
state.enemies.forEach((e) => {
e.y += 1;
});
}
}
function moveBullets(state) {
state.bullets = state.bullets.filter((b) => {
b.y += b.dy;
return b.y >= 0;
});
if (state.bulletCooldown > 0) {
state.bulletCooldown--;
}
}
function moveEnemyBullets(state) {
state.enemyBullets = state.enemyBullets.filter((b) => {
b.y += b.dy;
return b.y < SCREEN_HEIGHT && b.alive;
});
}
module.exports = {
moveEnemies,
moveBullets,
moveEnemyBullets,
};