// Collision with player (damage) const playerDist = Math.hypot(player.x - bot.x, player.y - bot.y); if (playerDist < player.size/2 + bot.size/2) player.health -= 1; // Knockback const angle = Math.atan2(player.y - bot.y, player.x - bot.x); player.x += Math.cos(angle) * 15; player.y += Math.sin(angle) * 15;
// Handle movement (WASD + Arrows) const keys = ArrowUp: false, ArrowDown: false, ArrowLeft: false, ArrowRight: false, w: false, s: false, a: false, d: false ;
movePlayer(); moveBots(); updateBullets();
canvas background: #2a3f2a; border-radius: 12px; box-shadow: 0 0 0 3px #4a6f4a; cursor: crosshair;
// Mouse aim & shoot canvas.addEventListener('mousemove', (e) => const rect = canvas.getBoundingClientRect(); const scaleX = canvas.width / rect.width; const scaleY = canvas.height / rect.height; mouseX = (e.clientX - rect.left) * scaleX; mouseY = (e.clientY - rect.top) * scaleY; );