namastejs
Version:
A spiritual greeting from your JavaScript code. Because every function deserves a 'Namaste 🙏'
25 lines (17 loc) • 662 B
JavaScript
const createEnemyBullet = require("../entities/enemyBullet");
module.exports = function enemyShoot(state) {
if (state.enemyShootCooldown > 0) return;
if (state.enemies.length === 0) return;
// ONLY bottom enemies can shoot
const shooters = {};
state.enemies.forEach((e) => {
if (!shooters[e.x] || shooters[e.x].y < e.y) {
shooters[e.x] = e;
}
});
const shooterList = Object.values(shooters);
const shooter = shooterList[Math.floor(Math.random() * shooterList.length)];
if (!shooter) return;
state.enemyBullets.push(createEnemyBullet(shooter.x, shooter.y + 1));
state.enemyShootCooldown = 20;
};