User prompt
now allow multiple of these groups at a time
User prompt
you are creating a powerup icon after the user kills each member of the wave. only spawn a powerup if the user defeats the entire group
User prompt
if the player destroys a wave enemy a powerup icon should drop, however if the wave exist the screen then the wave is deleted with no powerup icon
Code edit (2 edits merged)
Please save this source code
User prompt
they are not being killed, and the wave x needs to be randomised for each wave
User prompt
now make it so they can be killed by the playes shots
User prompt
rename the NextEnemy to wave_1
User prompt
the wave need to spawn on the same x together and have the sine offset so they form a snake motion
User prompt
if (LK.getScore() >= 100) { // Spawn a wave of 6 enemies for (var i = 0; i < 6; i++) { spawnWaveEnemy(); } } this is creating many too much enemys and they havent been grouped into a wave
User prompt
once the player has reached 100 points introduce the next enemy. the next enemy comes in waves of 6. if the player kills 6 waves of 6 then a powerup icon is spawned. the enemys come from the top and travel in a sign wave to the bottom
User prompt
if (LK.getScore() >= 200 && powerUpLevel == 0) { // Spawn power-up spawnPowerUp(); powerUpLevel++; // Increase powerUpLevel to prevent multiple power-ups from spawning } // this is a bug. a powerup icon has spawned and the user has powered up without collecting the icon
User prompt
the first powerup icon should only spawn when th eplayer gets 200 points or more.
Code edit (3 edits merged)
Please save this source code
User prompt
the player should get the first powerup at score 200
User prompt
when the player kills a simpleflyer they get 10 points
User prompt
Please fix the bug: 'Timeout.tick error: Spaceship is not defined' in or related to this line: 'var spaceship = new Spaceship();' Line Number: 184
User prompt
add the player score to th etop of the screen, and rename the enemy to simple flyer
Code edit (1 edits merged)
Please save this source code
User prompt
the icon needs to be set in the player.shoot method
User prompt
there are two icons for bullets. the bullets goinf forward are one image and the bullets going at an angle are a different image
User prompt
the extra bullets should have a different icon
User prompt
in the player.shoot method. fix the extra bullet icons
Code edit (1 edits merged)
Please save this source code
User prompt
set the background image
User prompt
add another sprite for bullets
/**** * Classes ****/ // Bullet class var Bullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics; if (Math.random() > 0.5) { bulletGraphics = self.attachAsset('bullet1', { anchorX: 0.5, anchorY: 0.5 }); } else { bulletGraphics = self.attachAsset('bullet2', { anchorX: 0.5, anchorY: 0.5 }); } self.speed = -10; self.direction = 45; // Add direction variable self.update = function () { self.y += self.speed * Math.cos(self.direction); // Update y position based on speed and direction self.x += self.speed * Math.sin(self.direction); // Update x position based on speed and direction }; }); // Player class var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.shoot = function () { var bullet = new Bullet(); bullet.x = self.x; bullet.y = self.y - 50; bullet.direction = 0; bullets.push(bullet); game.addChild(bullet); }; }); // PowerUp class var PowerUp = Container.expand(function () { var self = Container.call(this); var powerUpGraphics = self.attachAsset('powerUp', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { self.y += 2; }; }); //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Spaceship class var Spaceship = Container.expand(function () { var self = Container.call(this); var spaceshipGraphics = self.attachAsset('spaceship', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundImage: 'background' //Set the background image }); /**** * Game Code ****/ // Initialize player var player = game.addChild(new Player()); player.x = 2048 / 2; player.y = 2500; // Initialize arrays var spaceships = []; var bullets = []; var powerUps = []; // Initialize powerup level var powerUpLevel = 0; // Game update function game.update = function () { // Update spaceships for (var i = spaceships.length - 1; i >= 0; i--) { var spaceship = spaceships[i]; spaceship.update(); if (spaceship.y > 2732) { spaceship.destroy(); spaceships.splice(i, 1); } } // Update bullets for (var j = bullets.length - 1; j >= 0; j--) { var bullet = bullets[j]; bullet.update(); if (bullet.y < 0) { bullet.destroy(); bullets.splice(j, 1); } } // Update power-ups for (var k = powerUps.length - 1; k >= 0; k--) { var powerUp = powerUps[k]; powerUp.update(); if (powerUp.y > 2732) { powerUp.destroy(); powerUps.splice(k, 1); } } // Check for collisions checkCollisions(); }; // Function to check for collisions function checkCollisions() { // Check bullet and spaceship collisions for (var i = bullets.length - 1; i >= 0; i--) { var bullet = bullets[i]; for (var j = spaceships.length - 1; j >= 0; j--) { var spaceship = spaceships[j]; if (bullet.intersects(spaceship)) { bullet.destroy(); spaceship.destroy(); bullets.splice(i, 1); spaceships.splice(j, 1); break; } } } // Check player and power-up collisions for (var k = powerUps.length - 1; k >= 0; k--) { var powerUp = powerUps[k]; if (player.intersects(powerUp)) { powerUp.destroy(); powerUps.splice(k, 1); // Upgrade player's gun } ; } } // Function to spawn spaceships function spawnSpaceships() { var spaceship = new Spaceship(); spaceship.x = Math.random() * 2048; spaceship.y = -50; spaceships.push(spaceship); game.addChild(spaceship); } // Function to spawn power-ups function spawnPowerUp() { var powerUp = new PowerUp(); powerUp.x = Math.random() * 2048; powerUp.y = -50; powerUps.push(powerUp); game.addChild(powerUp); } // Set intervals for spawning LK.setInterval(spawnSpaceships, 1000); LK.setInterval(spawnPowerUp, 10000); // Player controls game.down = function (x, y, obj) { player.x = x; player.y = y; }; game.move = function (x, y, obj) { player.x = x; player.y = y; }; game.up = function (x, y, obj) { player.shoot(); };
===================================================================
--- original.js
+++ change.js
@@ -68,9 +68,9 @@
/****
* Initialize Game
****/
var game = new LK.Game({
- backgroundColor: 0x000000 //Init game with black background
+ backgroundImage: 'background' //Set the background image
});
/****
* Game Code
spaceship, retro game, 2d. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
yellow ball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
game flying saucer. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
star field. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
neon circle with a 'p'. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
fire explosion. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
double sided space ship. symetrical. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows, color, neon
hot stone, red. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
large rock. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows