User prompt
Add a powerup that Doubles the bullets
User prompt
Enemies have 2 health
User prompt
Make it play the "Shoot" Sound when shooting
User prompt
Make bullets shoot multiple times like the player on the enemy
User prompt
Make enemy bullets clone
User prompt
Make enemys shoot too
Initial prompt
Ferious Shooter
===================================================================
--- original.js
+++ change.js
@@ -3,9 +3,8 @@
****/
// Enemy class
var Enemy = Container.expand(function () {
var self = Container.call(this);
- self.health = 2;
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
@@ -61,10 +60,23 @@
bullet.x = self.x;
bullet.y = self.y - heroGraphics.height / 2;
game.addChild(bullet);
heroBullets.push(bullet);
+ if (self.doubleBullets) {
+ var bullet2 = new HeroBullet();
+ bullet2.x = self.x + 50;
+ bullet2.y = self.y - heroGraphics.height / 2;
+ game.addChild(bullet2);
+ heroBullets.push(bullet2);
+ }
LK.getSound('Shoot').play();
};
+ self.powerUp = function () {
+ self.doubleBullets = true;
+ LK.setTimeout(function () {
+ self.doubleBullets = false;
+ }, 10000);
+ };
});
// HeroBullet class
var HeroBullet = Container.expand(function () {
var self = Container.call(this);
@@ -80,8 +92,24 @@
heroBullets.splice(heroBullets.indexOf(self), 1);
}
};
});
+// PowerUp class
+var PowerUp = Container.expand(function () {
+ var self = Container.call(this);
+ var powerUpGraphics = self.attachAsset('powerUp', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = 5;
+ self.update = function () {
+ self.y += self.speed;
+ if (self.y > 2732 + powerUpGraphics.height / 2) {
+ self.destroy();
+ powerUps.splice(powerUps.indexOf(self), 1);
+ }
+ };
+});
/****
* Initialize Game
****/
@@ -91,12 +119,20 @@
/****
* Game Code
****/
+function spawnPowerUp() {
+ var powerUp = new PowerUp();
+ powerUp.x = Math.random() * 2048;
+ powerUp.y = -powerUp.height / 2;
+ game.addChild(powerUp);
+ powerUps.push(powerUp);
+}
var hero;
var enemies = [];
var heroBullets = [];
var enemyBullets = [];
+var powerUps = [];
var score = 0;
var scoreTxt = new Text2('0', {
size: 150,
fill: "#ffffff"
@@ -121,8 +157,11 @@
game.update = function () {
if (LK.ticks % 60 == 0) {
spawnEnemy();
}
+ if (LK.ticks % 600 == 0) {
+ spawnPowerUp();
+ }
for (var i = heroBullets.length - 1; i >= 0; i--) {
heroBullets[i].update();
}
for (var i = enemies.length - 1; i >= 0; i--) {
@@ -136,17 +175,14 @@
}
for (var i = heroBullets.length - 1; i >= 0; i--) {
for (var j = enemies.length - 1; j >= 0; j--) {
if (heroBullets[i].intersects(enemies[j])) {
- enemies[j].health--;
- if (enemies[j].health <= 0) {
- score++;
- scoreTxt.setText(score);
- enemies[j].destroy();
- enemies.splice(j, 1);
- }
+ score++;
+ scoreTxt.setText(score);
heroBullets[i].destroy();
+ enemies[j].destroy();
heroBullets.splice(i, 1);
+ enemies.splice(j, 1);
break;
}
}
}
@@ -163,5 +199,13 @@
hero.y = 2732 - 200;
game.addChild(hero);
LK.setInterval(function () {
hero.shoot();
-}, 500);
\ No newline at end of file
+}, 500);
+for (var i = powerUps.length - 1; i >= 0; i--) {
+ powerUps[i].update();
+ if (powerUps[i].intersects(hero)) {
+ powerUps[i].destroy();
+ powerUps.splice(i, 1);
+ hero.powerUp();
+ }
+}
\ No newline at end of file
A space shooter enemy that shoots bullets. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A bullet. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A spaceship shooter. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.