User prompt
Allow hero to move anywhere in screen
User prompt
Enemies can not Shoot all at same time
User prompt
Do not let enemies go out of sight
User prompt
Allow hero to move around the game like enemies
User prompt
Fix Bug: 'TypeError: undefined is not an object (evaluating 'enemies[k].healthBar')' in or related to this line: 'enemies[k].healthBar.width = enemies[k].health / 2 * enemies[k].width;' Line Number: 167
User prompt
Let enemies move around the game
User prompt
Let enemies move
User prompt
Let enemies move and shoot bullets
User prompt
Change the colour of the health bar to green
User prompt
Move health bar closer to enemy
User prompt
Move health bar on top of enemies head
User prompt
Put health bar on top of enemy
User prompt
Make enemies health bar visible
User prompt
Make a health bar for enemies if shot two times enemy will die
User prompt
Show the timer top right corner. Use white numbers
User prompt
Display Timer on the bottom left corner
User prompt
Make a 20 minutes timer. Only show full seconds
User prompt
Make back ground into space
User prompt
Make the enemy’s size biger
User prompt
Bullets will shoot automatically one by one every every second
User prompt
Bullets will shoot one by one every second
User prompt
Bullets will shoot instantly without tap
User prompt
Make timer simple to read
User prompt
Make timer visible
User prompt
Make a 20min timer if no enemy drops on floor a golden badge would appear and game will freeze until press play again
/**** * Classes ****/ var GoldenBadge = Container.expand(function () { var self = Container.call(this); self.on('down', function (obj) { self.destroy(); LK.resumeGame(); }); self.attachAsset('goldenBadge', { anchorX: 0.5, anchorY: 0.5 }); }); // Hero class var Hero = Container.expand(function () { var self = Container.call(this); var heroGraphics = self.attachAsset('hero', { anchorX: 0.5, anchorY: 0.5 }); self.shoot = function () { var bullet = new HeroBullet(); bullet.x = self.x; bullet.y = self.y - self.height / 2; game.addChild(bullet); heroBullets.push(bullet); }; }); // Enemy class var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5, scaleX: 2, scaleY: 2 }); self.health = 2; // Create a health bar self.healthBar = LK.getAsset('healthBar', { width: self.width, height: 10, anchorX: 0.5, anchorY: 0 }); self.addChild(self.healthBar); self.healthBar.y = -self.height / 2; self.move = function () { self.y += Math.sin(LK.ticks / 60) * 5; self.x += Math.cos(LK.ticks / 60) * 5; if (self.y > 2732 - self.height) { self.y = 2732 - self.height; } if (self.y < 0) { self.y = 0; } if (self.x < 0) { self.x = 0; } if (self.x > 2048 - self.width) { self.x = 2048 - self.width; } }; self.shoot = function () { var bullet = new EnemyBullet(); bullet.x = self.x; bullet.y = self.y + self.height / 2; game.addChild(bullet); enemyBullets.push(bullet); }; }); // HeroBullet class var HeroBullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('heroBullet', { anchorX: 0.5, anchorY: 0.5 }); self.move = function () { self.y -= 10; if (self.y < -self.height) { self.destroy(); heroBullets.splice(heroBullets.indexOf(self), 1); } }; }); // EnemyBullet class var EnemyBullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('enemyBullet', { anchorX: 0.5, anchorY: 0.5 }); self.move = function () { self.y += 5; if (self.y > 2732 + self.height) { self.destroy(); enemyBullets.splice(enemyBullets.indexOf(self), 1); } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundImage: 'space' // Init game with space background }); /**** * Game Code ****/ // Define the assets for the hero, enemy robots, and bullets // Initialize hero var hero = game.addChild(new Hero()); hero.x = 2048 / 2; hero.y = 2732 - 100; // Initialize enemy and bullet arrays var enemies = []; var heroBullets = []; var enemyBullets = []; // Handle shooting and moving the hero game.on('down', function (obj) { hero.shoot(); }); // Handle swipe game.on('move', function (obj) { var event = obj.event; var pos = event.getLocalPosition(game); hero.x = pos.x; hero.y = pos.y; }); // Initialize 20 minutes timer var timer = 20 * 60; // Create a timer text object var timerTxt = new Text2('20:00', { size: 100, fill: '#ffffff' }); // Attach the timer text object to the top right corner of the screen LK.gui.topRight.addChild(timerTxt); // Game tick event LK.on('tick', function () { // Update timer every second if (LK.ticks % 60 == 0) { timer--; // Update timer text var minutes = Math.floor(timer / 60); var seconds = timer % 60; timerTxt.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds); } // Move hero bullets for (var i = heroBullets.length - 1; i >= 0; i--) { heroBullets[i].move(); } // Move enemy bullets for (var j = enemyBullets.length - 1; j >= 0; j--) { enemyBullets[j].move(); } // Move enemies and randomly shoot for (var k = enemies.length - 1; k >= 0; k--) { enemies[k].move(); // Update the health bar if (enemies[k] && enemies[k].healthBar) { enemies[k].healthBar.width = enemies[k].health / 2 * enemies[k].width; } // Enemies shoot based on their unique shootTick value if (LK.ticks % enemies[k].shootTick == 0) { enemies[k].shoot(); } } // Spawn enemies if (LK.ticks % 120 == 0) { var enemy = new Enemy(); enemy.x = Math.random() * (2048 - enemy.width) + enemy.width / 2; enemy.y = -enemy.height; // Assign a unique shootTick value to each enemy enemy.shootTick = 120 + Math.floor(Math.random() * 60); game.addChild(enemy); enemies.push(enemy); } if (LK.ticks % 72000 == 0 && enemies.length == 0) { var goldenBadge = new GoldenBadge(); goldenBadge.x = 2048 / 2; goldenBadge.y = 2732 / 2; game.addChild(goldenBadge); LK.pauseGame(); } // Check for collisions between hero bullets and enemies for (var h = heroBullets.length - 1; h >= 0; h--) { for (var e = enemies.length - 1; e >= 0; e--) { if (heroBullets[h].intersects(enemies[e])) { heroBullets[h].destroy(); heroBullets.splice(h, 1); enemies[e].health--; if (enemies[e].health <= 0) { enemies[e].destroy(); enemies.splice(e, 1); } break; } } } // Check for collisions between enemy bullets and hero for (var eb = enemyBullets.length - 1; eb >= 0; eb--) { if (enemyBullets[eb].intersects(hero)) { // Flash screen red for 1 second (1000ms) to show damage taken LK.effects.flashScreen(0xff0000, 1000); // Show game over LK.showGameOver(); break; } } });
===================================================================
--- original.js
+++ change.js
@@ -25,15 +25,8 @@
bullet.y = self.y - self.height / 2;
game.addChild(bullet);
heroBullets.push(bullet);
};
- self.move = function () {
- self.y += Math.sin(LK.ticks / 60) * 5;
- self.x += Math.cos(LK.ticks / 60) * 5;
- if (self.y > 2732 + self.height || self.y < -self.height || self.x < -self.width || self.x > 2048 + self.width) {
- self.destroy();
- }
- };
});
// Enemy class
var Enemy = Container.expand(function () {
var self = Container.call(this);
@@ -135,8 +128,9 @@
game.on('move', function (obj) {
var event = obj.event;
var pos = event.getLocalPosition(game);
hero.x = pos.x;
+ hero.y = pos.y;
});
// Initialize 20 minutes timer
var timer = 20 * 60;
// Create a timer text object
Blue,laser like. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Golden badge shaped. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Red ufo. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Big version of enemy and only dies after shot four times rest of features are from original enemies. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Red bullet facing towards the bottom of the game. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Like a big animated explosion. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Looks exactly like a realistic rocket. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Imagined cosmic planet. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Star. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A golden glowing ball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.