User prompt
increase the players speed a alittle bit when i swipe
User prompt
decrease the players speed when i swipe
User prompt
make the swiping slower
User prompt
when i swipe left or right with my cursor then the shooter should move
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'addEventListener')' in or related to this line: 'document.addEventListener('keydown', function (event) {' Line Number: 215
User prompt
on laptop the player should move left when i press A and it should move right when i press D. It should shoot when i press left click
User prompt
remove the x
User prompt
Please fix the bug: 'Uncaught ReferenceError: x is not defined' in or related to this line: 'var deltaX = x - startX;' Line Number: 70
User prompt
Please fix the bug: 'Uncaught ReferenceError: x is not defined' in or related to this line: 'var deltaX = x - startX;' Line Number: 70
User prompt
Please fix the bug: 'Uncaught ReferenceError: obj is not defined' in or related to this line: 'var deltaX = obj.event.x - startX;' Line Number: 70
User prompt
Please fix the bug: 'Uncaught ReferenceError: x is not defined' in or related to this line: 'var deltaX = x - startX;' Line Number: 70
User prompt
Remove the arrows and also the player should move when screen is swiped
User prompt
Make the player movement very fast
User prompt
Make the players movement fast when arrows r pressed
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'down')' in or related to this line: 'leftArrow.down = function (x, y, obj) {' Line Number: 65
User prompt
The player should move with the arrows
User prompt
The player should move swiftly just like when it was moving before I had placedthe arrows
User prompt
The player should move swiftly when arrows r pressed
User prompt
The player should slide when pressed the arrows
User prompt
The players should move with the arrows buttons
User prompt
The player should only move with the arrows and not when the screen is swiped
User prompt
Remove the shooting button and the bullets should only spawn when pressed the screen
User prompt
When pressed the shooting button the player should not automatically move on the left side
User prompt
Make it so that the player can only shoot with the bullet icon on the Right side
/****
* Classes
****/
// Bullet class for player and enemy bullets
var Bullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.attachAsset('bullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 15;
self.update = function () {
self.y -= self.speed;
};
});
// Enemy class representing enemy characters
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
// Enemy moves down the screen
self.y += self.speed;
// Game over if enemy touches player
// Removed game over condition on enemy-player collision
};
});
//<Assets used in the game will automatically appear here>
// Player class representing the main character
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 20;
self.update = function () {
// Player update logic
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize player
if (game.children.filter(function (child) {
return child instanceof Player;
}).length < 5) {
var player = game.addChild(new Player());
}
// Create left arrow button
var leftArrow = LK.getAsset('leftArrow', {
anchorX: 0.5,
anchorY: 0.5,
x: 100,
y: 2732 - 150
});
game.addChild(leftArrow);
// Create right arrow button
var rightArrow = LK.getAsset('rightArrow', {
anchorX: 0.5,
anchorY: 0.5,
x: 250,
y: 2732 - 150
});
game.addChild(rightArrow);
// Create bullet shooting button
var shootButton = LK.getAsset('bullet', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 - 150,
y: 2732 - 150
});
game.addChild(shootButton);
// Add event listener for bullet shooting button
shootButton.down = function () {
shootBullet(); // Player can only shoot with the bullet icon
};
// Add event listeners for arrow buttons
leftArrow.down = function () {
player.x -= player.speed * 2; // Increase speed for swift movement
if (player.x < player.width / 2) {
player.x = player.width / 2;
}
};
rightArrow.down = function () {
player.x += player.speed * 2; // Increase speed for swift movement
if (player.x > 2048 - player.width / 2) {
player.x = 2048 - player.width / 2;
}
};
player.x = 2048 / 2;
player.y = 2732 - 200;
// Initialize enemies array
var enemies = [];
// Initialize bullets array
var bullets = [];
// Function to spawn enemies
var enemySpeed = 5;
function spawnEnemy() {
if (enemies.length < 6) {
var enemy = new Enemy();
enemy.x = Math.random() * (2048 - enemy.width) + enemy.width / 2;
enemy.y = 0;
enemy.speed = enemySpeed - 2.08;
enemies.push(enemy);
game.addChild(enemy);
}
}
// Function to handle player shooting
var bulletSpeed = 15;
function shootBullet() {
var bullet = new Bullet();
bullet.x = player.x;
bullet.y = player.y;
bullet.speed = bulletSpeed;
bullets.push(bullet);
game.addChild(bullet);
player.speed += 0.002;
}
// Game update loop
game.update = function () {
// Update player
player.update();
// Update enemies
for (var i = enemies.length - 1; i >= 0; i--) {
enemies[i].update();
if (enemies[i].y > 2732) {
enemies[i].destroy();
enemies.splice(i, 1);
LK.showGameOver(); // End the game if any enemy reaches the bottom of the screen
}
}
// Update bullets
for (var j = bullets.length - 1; j >= 0; j--) {
bullets[j].update();
if (bullets[j].y < 0) {
bullets[j].destroy();
bullets.splice(j, 1);
}
}
// Initialize coin counter
var coins = 0;
// Create a score bar at the top middle of the screen
var scoreBar = new Text2('0', {
size: 150,
fill: "#ffffff"
});
scoreBar.anchor.set(0.5, 0);
scoreBar.x = 2048 / 2;
scoreBar.y = 0;
LK.gui.top.addChild(scoreBar);
// Check for collisions between bullets and enemies
for (var k = bullets.length - 1; k >= 0; k--) {
for (var l = enemies.length - 1; l >= 0; l--) {
if (bullets[k].intersects(enemies[l])) {
bullets[k].destroy();
bullets.splice(k, 1);
enemies[l].destroy();
enemies.splice(l, 1);
// Increment coin counter when an enemy is killed
coins += 1;
scoreBar.setText("Score: " + coins);
// Display congratulatory message after killing 10 enemies
if (coins === 10) {
var congratsText = new Text2('Good Job!', {
size: 200,
fill: "#00ff00"
});
congratsText.anchor.set(0.5, 0.5);
congratsText.x = 2048 / 2;
congratsText.y = 2732 / 2;
game.addChild(congratsText);
// Remove the message after 2 seconds
LK.setTimeout(function () {
congratsText.destroy();
}, 2000);
}
break;
}
}
}
// Check for collisions between player and enemies
for (var m = enemies.length - 1; m >= 0; m--) {
if (player.intersects(enemies[m])) {
LK.showGameOver();
break;
}
}
};
var spawnInterval = 2000;
LK.setInterval(function () {
if (enemies.length < 6) {
spawnEnemy();
}
spawnInterval -= 20;
if (spawnInterval < 200) {
spawnInterval = 200;
}
LK.clearInterval(spawnInterval);
LK.setInterval(spawnEnemy, spawnInterval);
}, spawnInterval);
// Add swipe event listener to move player
var startX = 0;
var startY = 0;
game.down = function (x, y, obj) {
startX = x;
startY = y;
// Removed shooting functionality from the game down event
};
game.move = function (x, y, obj) {
var deltaX = x - startX;
var deltaY = y - startY;
if (Math.abs(deltaX) > Math.abs(deltaY)) {
player.x += deltaX;
// Ensure player does not move out of screen bounds
if (player.x < player.width / 2) {
player.x = player.width / 2;
} else if (player.x > 2048 - player.width / 2) {
player.x = 2048 - player.width / 2;
}
}
startX = x;
startY = y;
};