User prompt
make heros health bar below him
User prompt
get rid of keyboard movement
Code edit (1 edits merged)
Please save this source code
User prompt
make health bar on enemies and boss enemies appear slightly above them
Code edit (1 edits merged)
Please save this source code
User prompt
make health bar thinner
User prompt
make health bar shorter
User prompt
give everything health bars
User prompt
get rid of ranged enemies
User prompt
make boss enemies go straight down
User prompt
make ranged enemies
Code edit (1 edits merged)
Please save this source code
User prompt
make a base behind the hero that is as wide as the screen that takes damage and can cause a game over if destroyed
User prompt
make it so enemies go straight down
User prompt
get rid of powerups
User prompt
add powerups that can be shot to temporarily make bullets pierce, do more damage, or increase number of bullets player shoots
User prompt
make a bigger boss enemy spawn in every once in a while
User prompt
Please fix the bug: 'TypeError: setInterval is not a function' in or related to this line: 'var spawnInterval = setInterval(function () {' Line Number: 191
User prompt
make it so there is a delay between every enemy spawning in each wave
User prompt
too many enemies are spawning in per wave
User prompt
control the number of enemies spawning in
User prompt
make it so enemies dont spawn in all at once at the beginning of the wave
User prompt
make waves that spawn in a certain amount of enemies
Code edit (1 edits merged)
Please save this source code
User prompt
make it so bullets dont hit dead enemies
===================================================================
--- original.js
+++ change.js
@@ -130,8 +130,51 @@
// Handle hero death
LK.showGameOver();
};
});
+// Ranged Enemy class
+var RangedEnemy = Container.expand(function () {
+ var self = Container.call(this);
+ var rangedEnemyGraphics = self.attachAsset('rangedEnemy', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.health = 50;
+ self.speed = 1;
+ self.shootCooldown = 0;
+ self.update = function () {
+ // Update logic for ranged enemy
+ // Move straight down
+ self.y += self.speed;
+ // Shoot a bullet every 2 seconds
+ if (self.shootCooldown <= 0) {
+ var bullet = new Bullet();
+ bullet.x = self.x;
+ bullet.y = self.y;
+ bullets.push(bullet);
+ game.addChild(bullet);
+ self.shootCooldown = 120;
+ } else {
+ self.shootCooldown--;
+ }
+ };
+ self.takeDamage = function (amount) {
+ self.health -= amount;
+ if (self.health <= 0) {
+ self.die();
+ }
+ };
+ self.die = function () {
+ // Handle ranged enemy death
+ for (var i = bullets.length - 1; i >= 0; i--) {
+ if (bullets[i].intersects(self)) {
+ bullets[i].destroy();
+ bullets.splice(i, 1);
+ }
+ }
+ self.destroy();
+ };
+});
/****
* Initialize Game
****/
@@ -228,8 +271,16 @@
}
if (LK.ticks % 60 == 0) {
spawnEnemy();
}
+ // Spawn ranged enemy periodically
+ if (LK.ticks % 120 == 0) {
+ var rangedEnemy = new RangedEnemy();
+ rangedEnemy.x = Math.random() * 2048;
+ rangedEnemy.y = 0;
+ enemies.push(rangedEnemy);
+ game.addChild(rangedEnemy);
+ }
// Spawn boss enemy periodically
if (LK.ticks % 600 == 0) {
var boss = new Boss();
boss.x = Math.random() * 2048;