Code edit (2 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: enemyBossBullets is not defined' in this line: 'for (var i = enemyBossBullets.length - 1; i >= 0; i--) {' Line Number: 209
User prompt
add code to LK.on('tick', function () to call enemybossbullet move
User prompt
update enemybossship to shoot enemybossbullet after it reaches targetyY
User prompt
update enemybossbullet to move towards the player when spawned
User prompt
create a new asset callled enemybossbullet
Code edit (1 edits merged)
Please save this source code
User prompt
update enemybossship so it moves to game.height*(2/3) and then stops
User prompt
update the enemybossship to require 10 bullets to be destroyed
User prompt
update the code so only one enemybossship is spawned
User prompt
when the currentscore reaches 1000, spawn the enemyboss.
User prompt
add 100 to current score for every enemy destroyed by the player bullet
Code edit (1 edits merged)
Please save this source code
User prompt
display currentscore on the top left of the screen
User prompt
add two variables to the game. one that tracks the current score, and one that tracks high score
User prompt
call spawnEnemyShip at random intervals between 1 and 3 seconds
Code edit (1 edits merged)
Please save this source code
User prompt
add code to randomly spawn enemyship that moves downwards. the speed of the enemy ship should be passed as a parameter during spawning
Code edit (6 edits merged)
Please save this source code
User prompt
in diagonalLine, clamp the value for startingX to within 120 pixels of the screen
Code edit (1 edits merged)
Please save this source code
User prompt
add a pattern to spawn enemies in a diagonal line
Code edit (5 edits merged)
Please save this source code
User prompt
Fix Bug: 'Uncaught ReferenceError: spacingX is not defined' in this line: 'return self.patterns[patternName](count, spacingX, spacingY);' Line Number: 101
Code edit (4 edits merged)
Please save this source code
/**** * Classes ****/ var Starfield = Container.expand(function () { var self = Container.call(this); self.stars = []; var numberOfStars = 300; for (var i = 0; i < numberOfStars; i++) { var star = LK.getAsset('star', 'Star'); star.anchor.set(0.5, 0.5); star.x = Math.random() * game.width; star.y = Math.random() * game.height; star.speed = Math.random() * 1 + 0.1; star.alpha = Math.random() * 0.2 + 0.1; star.tint = Math.random() * 0xFFFFFF; self.addChild(star); self.stars.push(star); } self.moveStars = function () { for (var i = 0; i < self.stars.length; i++) { var star = self.stars[i]; star.y += star.speed; if (star.y > game.height) { star.y = -30; } } }; }); // Hero ship class var HeroShip = Container.expand(function () { var self = Container.call(this); var shipGraphics = self.createAsset('heroShip', 'Cute smiley ship', 0.5, 0.5); self.speed = 5; self.isShooting = false; self.shootingInterval = 30; self._shootingCounter = 0; self.shoot = function () { var bullet = new HeroBullet(); bullet.x = self.x; bullet.y = self.y - self.height / 2; game.addChild(bullet); return bullet; }; }); // Hero bullet class var HeroBullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.createAsset('heroBullet', 'Heart bullet', 0.5, 1); self.speed = -10; self.move = function () { self.y += self.speed; }; }); // Enemy ship class var EnemyShip = Container.expand(function () { var self = Container.call(this); var shipGraphics = self.createAsset('enemyShip', 'Evil smiley', 0.5, 0.5); self.speed = 2; self.move = function () { self.y += self.speed; }; }); // Enemy ship class var EnemyBossShip = Container.expand(function () { var self = Container.call(this); var shipGraphics = self.createAsset('enemyBossShip', 'Evil Boss smiley', 0.5, 0.5); self.speed = 2; self.move = function () { self.y += self.speed; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0xFEF3BD // Init game with black background }); /**** * Game Code ****/ // Initialize starfield var starfield = game.addChild(new Starfield()); starfield.x = 0; starfield.y = 0; // Start off screen // Initialize important asset arrays and score tracking var heroBullets = []; var enemyShips = []; var currentScore = 0; var highScore = 0; // Create hero ship var heroShip = game.addChild(new HeroShip()); heroShip.x = game.width / 2; heroShip.y = game.height - 450; // Create enemies function spawnEnemyShip(speed) { var enemyShip = new EnemyShip(); enemyShip.speed = speed || Math.random() * 3 + 1; // Default speed if not provided enemyShip.x = Math.random() * (game.width - enemyShip.width) + enemyShip.width / 2; enemyShip.y = -enemyShip.height / 2; game.addChild(enemyShip); enemyShips.push(enemyShip); } // Game tick event LK.on('tick', function () { // Move the starfield starfield.moveStars(); // Move hero bullets for (var i = heroBullets.length - 1; i >= 0; i--) { var bullet = heroBullets[i]; bullet.move(); if (bullet.y < -bullet.height) { bullet.destroy(); heroBullets.splice(i, 1); } else { // Check collision with enemies for (var j = enemyShips.length - 1; j >= 0; j--) { if (bullet.intersects(enemyShips[j])) { bullet.destroy(); enemyShips[j].destroy(); heroBullets.splice(i, 1); enemyShips.splice(j, 1); break; } } } } // Move enemy ships for (var i = enemyShips.length - 1; i >= 0; i--) { var enemy = enemyShips[i]; enemy.move(); if (enemy.y > game.height + enemy.height / 2) { enemy.destroy(); enemyShips.splice(i, 1); } } // Shoot bullets if (heroShip._shootingCounter % heroShip.shootingInterval == 0) { if (heroShip.isShooting) { heroBullets.push(heroShip.shoot()); heroShip._shootingCounter = 0; } } heroShip._shootingCounter += 1; }); // Function to randomly spawn enemy ships function randomSpawnEnemyShip() { var minSpawnDelay = 1000; // 1 second var maxSpawnDelay = 3000; // 3 seconds var spawnDelay = Math.random() * (maxSpawnDelay - minSpawnDelay) + minSpawnDelay; LK.setTimeout(function () { spawnEnemyShip(); randomSpawnEnemyShip(); // Schedule next spawn }, spawnDelay); } randomSpawnEnemyShip(); // Start the spawning process // Touch controls to make heroShip follow the pointer game.on('move', function (obj) { var touchPos = obj.event.getLocalPosition(game); heroShip.x = touchPos.x; }); game.on('down', function (obj) { heroShip._shootingCounter = 0; heroShip.isShooting = true; }); game.on('up', function (obj) { heroShip.isShooting = false; });
===================================================================
--- original.js
+++ change.js
@@ -84,11 +84,13 @@
var starfield = game.addChild(new Starfield());
starfield.x = 0;
starfield.y = 0; // Start off screen
-// Initialize important asset arrays
+// Initialize important asset arrays and score tracking
var heroBullets = [];
var enemyShips = [];
+var currentScore = 0;
+var highScore = 0;
// Create hero ship
var heroShip = game.addChild(new HeroShip());
heroShip.x = game.width / 2;
a cute cool looking emoji face. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a cute looking heart. bright red.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
an evil looking emoji. purple and blue colors.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a shiny blue cute star. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A start button. White on Red.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a grey touchpad. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a bright yellow shiny cute star. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.