User prompt
Fit the backgrounds of each level to screen
Code edit (1 edits merged)
Please save this source code
User prompt
Adjust the screen to fit the backgrounds 1 2 3
User prompt
Fit the background1 to screen
Code edit (1 edits merged)
Please save this source code
User prompt
Fit it to screen all the 3 backgrounds
User prompt
Add 3 background each 1 by level
User prompt
Remove th backgrounds from game and assets
User prompt
Remove all the backgrounds
User prompt
Make the background3 for level 3 not level 1 and background1 for level1
User prompt
missing backgrounds
User prompt
check for bugs
User prompt
Reload all the 3 backgrounds in there perspective level
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'width')' in or related to this line: 'background.scaleX = 2048 / background.width;' Line Number: 217
User prompt
Don't preload the assets of backgrounds
User prompt
Now fix all the background to load on the screen
User prompt
Background3 level3 not level1!
User prompt
Replace background3 by 1
User prompt
Make each background for level
User prompt
fix the background3
User prompt
Fix the background2
User prompt
Fix the background1
User prompt
Fit the background to screen
User prompt
Make the background1 for level1 only
User prompt
Add background2 and 3 to the game
/**** * Classes ****/ var BottomWall = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('Wall2', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { self.y -= 5; if (self.y < 0) { self.destroy(); } }; }); var HorizontalTopWall = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('Wall2', { anchorX: 0.5, anchorY: 0.5, scaleX: 3 // Increase width to make it even wider }); self.update = function () { self.y += 5; // Move downwards if (self.y > 2732) { self.destroy(); } }; }); var LeftWall = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('Wall2', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { self.x -= 5; if (self.x < 0) { self.destroy(); } }; }); var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { for (var i = 0; i < mazeWalls.length; i++) { if (self.intersects(mazeWalls[i]) && mazeWalls[i].parent) { var dx = self.x - mazeWalls[i].x; var dy = self.y - mazeWalls[i].y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance < self.width / 2 + mazeWalls[i].width / 2) { LK.showGameOver(); } } } }; }); var RightWall = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('Wall2', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { self.x += 5; if (self.x > 2048) { self.destroy(); } }; }); var TopWall = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('Wall2', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { self.y += 5; if (self.y > 2732) { self.destroy(); } }; }); var VerticalWall = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('Wall2', { anchorX: 0.5, anchorY: 0.5, scaleY: 2 // Increase height to make it taller }); self.update = function () { self.y += 5; if (self.y > 2732) { self.y = 0; } else if (self.y < 0) { self.y = 2732; } }; }); var Wall1 = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('wall1', { anchorX: 0.5, anchorY: 0.5, scaleX: 0.5, // Make it thinner scaleY: 2 // Make it taller }); self.update = function () { self.y += 5; if (self.y > 2732) { self.destroy(); } }; }); var Wall2 = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('Wall2', { anchorX: 0.5, anchorY: 0.5, scaleY: Math.random() * 0.5 + 0.5 // Random height between 0.5 and 1 }); self.update = function () { self.x -= 5; if (self.x < 0) { self.destroy(); } }; }); var Wall3 = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('Wall3', { anchorX: 0.5, anchorY: 0.5, scaleX: Math.random() * 0.5 + 0.5, // Random width between 0.5 and 1 scaleY: Math.random() * 2 + 1 // Random height between 1 and 3 }); self.update = function () { self.y -= 5; // Move upwards if (self.y < 0) { self.destroy(); } }; }); /**** * Initialize Game ****/ // Removed maze regeneration and player reinitialization // Removed player movement and click event listener related to the maze // Function to generate a random maze var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Update game loop to move maze walls // Add event listener for player movement game.move = function (x, y, obj) { player.x = Math.max(player.width / 2, Math.min(2048 - player.width / 2, x)); player.y = Math.max(player.height / 2, Math.min(2732 - player.height / 2, y)); }; var mazeWalls = []; moveMazeWalls(); // Removed duplicate interval creation for generateMazeWall function generateMazeWall() { var wall; if (level === 1) { var background = LK.getAsset('background1', { anchorX: 0.5, anchorY: 0.5, scaleX: 2048 / 700, // Fit to screen width scaleY: 2732 / 700, // Fit to screen height x: 2048 / 2, // Center horizontally y: 2732 / 2 // Center vertically }); game.addChildAt(background, 0); if (Math.random() > 0.5) { wall = new Wall1(); wall.scaleX = Math.random() * 0.5 + 0.5; // Randomize thickness between 0.5 and 1 wall.scaleY = Math.random() * 0.5 + 0.5; // Randomize height between 0.5 and 1 wall.x = Math.random() * (2048 - wall.width) + wall.width / 2; // Random x position within bounds wall.y = 0; // Start from the top } else { wall = new LeftWall(); wall.scaleX = Math.random() * 2 + 1; // Random width between 1 and 3 wall.scaleY = Math.random() * 2 + 1; // Random height between 1 and 3 wall.y = Math.random() * (2732 - wall.height) + wall.height / 2; // Random y position within bounds wall.x = 2048; // Start from the right } } else if (level === 2) { var background = LK.getAsset('background2', { anchorX: 0.5, anchorY: 0.5, scaleX: 2048 / 700, // Fit to screen width // Fit to screen width scaleY: 2732 / 700, // Fit to screen height x: 2048 / 2, // Center horizontally y: 2732 / 2 // Center vertically }); game.addChildAt(background, 0); if (Math.random() > 0.5) { wall = new Wall2(); wall.scaleX = Math.random() * 2 + 1; // Random width between 1 and 3 wall.scaleY = Math.random() * 3 + 1; // Random height between 1 and 4 wall.x = 2048; // Start from the right wall.y = Math.random() * (2732 - wall.height) + wall.height / 2; // Random y position within bounds } else { wall = new Wall1(); wall.x = Math.random() * (2048 - wall.width) + wall.width / 2; // Random x position within bounds wall.y = 0; // Start from the top } } else if (level === 3) { var background = LK.getAsset('background3', { anchorX: 0.5, anchorY: 0.5, scaleX: 2048 / 700, // Fit to screen width // Fit to screen width scaleY: 2732 / 700, // Fit to screen height x: 2048 / 2, // Center horizontally y: 2732 / 2 // Center vertically }); game.addChildAt(background, 0); if (Math.random() > 0.3) { wall = new Wall1(); wall.scaleX = Math.random() * 3 + 2; // Random width between 2 and 5 wall.scaleY = Math.random() * 0.2 + 0.2; // Random height between 0.2 and 0.4 wall.x = 0; // Start from the left wall.update = function () { this.x += 5; // Move to the right if (this.x > 2048) { this.destroy(); } }; wall.y = Math.random() * (2732 - wall.height) + wall.height / 2; // Random y position within bounds } else { wall = new Wall3(); wall.scaleX = Math.random() * 1.5 + 0.5; // Random width between 0.5 and 2 wall.scaleY = Math.random() * 1.5 + 0.5; // Random height between 0.5 and 2 wall.x = Math.random() * (2048 - wall.width) + wall.width / 2; // Random x position within bounds wall.y = 2732; // Start from the bottom } } mazeWalls.push(wall); game.addChild(wall); } function moveMazeWalls() { // Removed wall update logic } LK.setInterval(generateMazeWall, 300); // Update timer every second LK.setInterval(function () { timer--; var seconds = timer; timerText.setText('Time: ' + (seconds < 10 ? '0' : '') + seconds); // If time is up, go to next level if (timer <= 0) { level++; if (level == 3) { timer = 10; // 10 seconds for level 3 } else if (level == 10) { LK.showGameOver(); // End the game at level 10 } levelText.setText('Level: ' + level); } // Remove lag when reach 5 sec // Removed premature interval clearing logic }, 1000); var player = new Player(); game.addChild(player); player.x = 2048 / 2; player.y = 2732 / 2; // Initialize timer and level variables var timer = 10; // 10 seconds for level 1 and level 2 var level = 1; // Add level text to the top right corner var levelText = new Text2('Level: 1', { size: 100, fill: 0x808080 // Grey color }); levelText.anchor.set(1, 0); // Sets anchor to the top right corner of the text. LK.gui.topRight.addChild(levelText); // Add timer text to the top left corner var timerText = new Text2('Time: 10', { size: 100, fill: 0x808080 // Grey color }); timerText.anchor.set(0, 0); // Sets anchor to the top left corner of the text. LK.gui.topLeft.addChild(timerText); ;
===================================================================
--- original.js
+++ change.js
@@ -176,11 +176,11 @@
if (level === 1) {
var background = LK.getAsset('background1', {
anchorX: 0.5,
anchorY: 0.5,
- scaleX: 2048 / 800,
+ scaleX: 2048 / 700,
// Fit to screen width
- scaleY: 2732 / 800,
+ scaleY: 2732 / 700,
// Fit to screen height
x: 2048 / 2,
// Center horizontally
y: 2732 / 2 // Center vertically
@@ -202,12 +202,12 @@
} else if (level === 2) {
var background = LK.getAsset('background2', {
anchorX: 0.5,
anchorY: 0.5,
- scaleX: 2048 / 800,
+ scaleX: 2048 / 700,
// Fit to screen width
// Fit to screen width
- scaleY: 2732 / 800,
+ scaleY: 2732 / 700,
// Fit to screen height
x: 2048 / 2,
// Center horizontally
y: 2732 / 2 // Center vertically
@@ -227,12 +227,12 @@
} else if (level === 3) {
var background = LK.getAsset('background3', {
anchorX: 0.5,
anchorY: 0.5,
- scaleX: 2048 / 800,
+ scaleX: 2048 / 700,
// Fit to screen width
// Fit to screen width
- scaleY: 2732 / 800,
+ scaleY: 2732 / 700,
// Fit to screen height
x: 2048 / 2,
// Center horizontally
y: 2732 / 2 // Center vertically