Code edit (13 edits merged)
Please save this source code
User prompt
you forgot to create a function to spawn enemy_2
User prompt
duplicate enemy_1 to enemy_2 and add a new image for it
Code edit (8 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Timeout.tick error: self is undefined' in or related to this line: 'enemy.xpos = groupX + Math.sin(self.y) * enemy_movemwnt_amplitude; // Assign the group x position to the enemy' Line Number: 183
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Timeout.tick error: enemy is undefined' in or related to this line: 'enemy.n = i;' Line Number: 179
User prompt
Please fix the bug: 'Timeout.tick error: enemy is undefined' in or related to this line: 'enemy.n = i;' Line Number: 179
Code edit (3 edits merged)
Please save this source code
User prompt
each enemy_1 must move in a signwave
Code edit (3 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Timeout.tick error: x is not defined' in or related to this line: 'enemy.x = groupX + Math.sin(x) * enemy_movemwnt_amplitude; // Assign the group x position to the enemy' Line Number: 175
Code edit (1 edits merged)
Please save this source code
User prompt
each enemy within the group should spawn at the same x position but a slightly different y position
User prompt
Please fix the bug: 'ReferenceError: enemy is not defined' in or related to this line: 'return e.group === enemy.group;' Line Number: 135
User prompt
when all the enemy_1's in a single group are defeated by the player, spawn a power up icon
User prompt
function spawnEnemy_1() { for (var i = 0; i < 6; i++) { var enemy = new enemy_1(); enemy.x = Math.random() * 2048; enemy.y = -50; enemy_1s.push(enemy); game.addChild(enemy); } // Increment enemy_1 group counter enemy_1GroupCount += 6; } does not keep track of what group the enemy_1 is in
Code edit (1 edits merged)
Please save this source code
User prompt
each gropu of enemy_1 is to spawn at the same time at the same time
User prompt
Please fix the bug: 'TypeError: self is undefined' in or related to this line: 'bullet1.x = self.x - 20;' Line Number: 153
User prompt
enemy_1 must come in groups of 6. keep track of the groups as when the player destroys a group of 6 there will be a powerup icon spawned. the powerup icon only spawns when one whole group of enemy_1 is defeated
User prompt
Please fix the bug: 'Timeout.tick error: enemy_1 is not a constructor' in or related to this line: 'var enemy_1 = new enemy_1();' Line Number: 159
User prompt
Please fix the bug: 'spawnEnemy1 is not defined' in or related to this line: 'LK.setInterval(spawnEnemy1, 1000);' Line Number: 174
Code edit (1 edits merged)
Please save this source code
/****
* Classes
****/
// Bullet class
var Bullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.attachAsset('bullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = -10;
self.update = function () {
self.y += self.speed;
};
});
// 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;
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>
// enemy_1 class
var enemy_1 = Container.expand(function () {
var self = Container.call(this);
var enemy_1Graphics = self.attachAsset('enemy_a', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 3;
self.update = function () {
self.y += self.speed;
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize player
var player = game.addChild(new Player());
player.x = 2048 / 2;
player.y = 2500;
// Initialize arrays
var enemy_1s = [];
var bullets = [];
var powerUps = [];
// Initialize enemy_1 group counter
var enemy_1GroupCount = 0;
// Game update function
game.update = function () {
// Update enemy_1s
for (var i = enemy_1s.length - 1; i >= 0; i--) {
var enemy_1 = enemy_1s[i];
enemy_1.update();
if (enemy_1.y > 2732) {
enemy_1.destroy();
enemy_1s.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 enemy_1 collisions
for (var i = bullets.length - 1; i >= 0; i--) {
var bullet = bullets[i];
for (var j = enemy_1s.length - 1; j >= 0; j--) {
var enemy_1 = enemy_1s[j];
if (bullet.intersects(enemy_1)) {
bullet.destroy();
enemy_1.destroy();
bullets.splice(i, 1);
enemy_1s.splice(j, 1);
// Decrement enemy_1 group counter
enemy_1GroupCount--;
// Check if a whole group of enemy_1 has been defeated
if (enemy_1GroupCount % 6 === 0) {
// Spawn a powerup
spawnPowerUp();
}
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
player.shoot = function () {
var bullet1 = new Bullet();
bullet1.x = player.x - 20;
bullet1.y = player.y - 50;
bullets.push(bullet1);
game.addChild(bullet1);
var bullet2 = new Bullet();
bullet2.x = player.x + 20;
bullet2.y = player.y - 50;
bullets.push(bullet2);
game.addChild(bullet2);
};
}
}
}
// Function to spawn enemy_1s
function spawnEnemy_1() {
for (var i = 0; i < 6; i++) {
var enemy = new enemy_1();
enemy.x = Math.random() * 2048;
enemy.y = -50;
enemy.group = enemy_1GroupCount; // Assign the group number to the enemy
enemy_1s.push(enemy);
game.addChild(enemy);
}
// Increment enemy_1 group counter
enemy_1GroupCount += 1;
}
// 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(spawnEnemy_1, 1000);
// 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
@@ -156,13 +156,14 @@
for (var i = 0; i < 6; i++) {
var enemy = new enemy_1();
enemy.x = Math.random() * 2048;
enemy.y = -50;
+ enemy.group = enemy_1GroupCount; // Assign the group number to the enemy
enemy_1s.push(enemy);
game.addChild(enemy);
}
// Increment enemy_1 group counter
- enemy_1GroupCount += 6;
+ enemy_1GroupCount += 1;
}
// Function to spawn power-ups
function spawnPowerUp() {
var powerUp = new PowerUp();
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