User prompt
Make the player & exit smaller, Generate a maze with asset wall2 with too small wall2, make it between 4 walls only, do many spaces similar to the player size.
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'setItem')' in or related to this line: 'localStorage.setItem('playerX', player.x);' Line Number: 192
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'getItem')' in or related to this line: 'player.x = localStorage.getItem('playerX') ? parseFloat(localStorage.getItem('playerX')) : game.width / 2;' Line Number: 108
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'getItem')' in or related to this line: 'player.x = localStorage.getItem('playerX') ? localStorage.getItem('playerX') : game.width / 2;' Line Number: 108
User prompt
Save game like this and save the player Real Time position and make it its real position.
User prompt
Don't make magnetic pull player to other walls
User prompt
Fix bugs of collision. Player can't pass the walls even by half.
Code edit (2 edits merged)
Please save this source code
User prompt
move player to middle
Code edit (1 edits merged)
Please save this source code
User prompt
move player inside corner of left bottom inside walls
Code edit (9 edits merged)
Please save this source code
User prompt
Move to the corner more
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
Make the player on the bottom right corner inside the 2 walls
User prompt
change the position of player and exit to be where i placed them now
User prompt
Make collision between player and walls to not pass it
User prompt
Same for exit
User prompt
Hold object to move it anywhere on the screen
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'target')' in or related to this line: 'if (obj.target.name === 'player') {' Line Number: 73
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'target')' in or related to this line: 'if (obj.event.target.name === 'player') {' Line Number: 73
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'target')' in or related to this line: 'if (obj.target.name === 'player') {' Line Number: 73
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'target')' in or related to this line: 'if (obj.event.target.name === 'player') {' Line Number: 73
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'target')' in or related to this line: 'if (obj.event.target.id === 'player') {' Line Number: 73
/**** * Classes ****/ // Class for the exit point var Exit = Container.expand(function () { var self = Container.call(this); var exitGraphics = self.attachAsset('exit', { anchorX: 0.5, anchorY: 0.5 }); // Add dragging functionality self.down = function (x, y, obj) { dragNode = self; }; self.up = function (x, y, obj) { dragNode = null; }; }); //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Class for the player character var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.01, anchorY: 0.01 }); self.speed = 5; self.update = function () { // Player update logic }; // Add dragging functionality self.down = function (x, y, obj) { dragNode = self; }; self.up = function (x, y, obj) { dragNode = null; }; }); // Class for maze walls var Wall = Container.expand(function () { var self = Container.call(this); var wallGraphics = self.attachAsset('wall', { anchorX: 0.5, anchorY: 0.5 }); }); /**** * Initialize Game ****/ // Function to generate a random maze var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ var background = LK.getAsset('Background1', { anchorX: 0.5, anchorY: 0.5 }); background.width = game.width; background.height = game.height; background.x = game.width / 2; background.y = game.height / 2; game.addChildAt(background, 0); // Define the handleMove function function handleMove(x, y, obj) { if (dragNode) { dragNode.x = x; dragNode.y = y; } } game.move = handleMove; game.up = function (x, y, obj) { dragNode = null; }; function generateRectangle() { var rectangle = []; var rectangleSize = 6; // Set a fixed rectangle size var blockSize = Math.max(2048 / rectangleSize, 2732 / rectangleSize); for (var i = 0; i < rectangleSize; i++) { rectangle[i] = []; for (var j = 0; j < rectangleSize; j++) { // Add walls around the screen rectangle[i][j] = 1; } } return { rectangle: rectangle, blockSize: blockSize }; } var rectangleData = generateRectangle(); var player = new Player(); // Set the player's position to the saved position player.x = localStorage.getItem('playerX') ? localStorage.getItem('playerX') : game.width / 2; player.y = localStorage.getItem('playerY') ? localStorage.getItem('playerY') : game.height / 2; player.width = rectangleData.blockSize / 3; player.height = rectangleData.blockSize / 3; game.addChild(player); // Create 4 walls for up, down, left and right sides var wallThickness = rectangleData.blockSize / 2; // Adjust this value to change the thickness of the walls var wallUp = new Wall(); wallUp.width = game.width - 2 * wallThickness; wallUp.height = wallThickness; wallUp.x = game.width / 2; wallUp.y = wallUp.height / 2; game.addChild(wallUp); var wallDown = new Wall(); wallDown.width = game.width - 2 * wallThickness; wallDown.height = wallThickness; wallDown.x = game.width / 2; wallDown.y = game.height - wallDown.height / 2; game.addChild(wallDown); var wallLeft = new Wall(); wallLeft.width = wallThickness; wallLeft.height = game.height - 2 * wallThickness; wallLeft.x = wallLeft.width / 2; wallLeft.y = game.height / 2; game.addChild(wallLeft); var wallRight = new Wall(); wallRight.width = wallThickness; wallRight.height = game.height - 2 * wallThickness; wallRight.x = game.width - wallRight.width / 2; wallRight.y = game.height / 2; game.addChild(wallRight); // Set level 01 and background1 for level 1 game.level = 1; game.background = LK.getAsset('Background1', { anchorX: 0.5, anchorY: 0.5 }); var exit = new Exit(); exit.x = game.width / 6.7; exit.y = game.height / 9; exit.width = rectangleData.blockSize / 3; exit.height = rectangleData.blockSize / 3; game.addChild(exit); // Handle player movement var dragNode = null; // Create a Text2 object to display the level number var levelText = new Text2('Level: 1', { size: 50, fill: 0xFFFF00 }); // Position the level text at the bottom left of the screen levelText.anchor.set(0, 1); levelText.x = 0; levelText.y = 2732; // Add the level text to the GUI overlay LK.gui.bottomLeft.addChild(levelText); // Check if player reaches the exit function checkExit() { if (player.intersects(exit)) { // Player reached the exit LK.showGameOver(); } } // Game update loop // Define the checkCollisions function function checkCollisions() { // Collision detection logic if (player.intersects(wallUp)) { player.y = wallUp.y + wallUp.height / 2 + player.height / 2; } if (player.intersects(wallDown)) { player.y = wallDown.y - wallDown.height / 2 - player.height / 2; } if (player.intersects(wallLeft)) { player.x = wallLeft.x + wallLeft.width / 2 + player.width / 2; } if (player.intersects(wallRight)) { player.x = wallRight.x - wallRight.width / 2 - player.width / 2; } } game.update = function () { checkCollisions(); checkExit(); // Save the player's real-time position localStorage.setItem('playerX', player.x); localStorage.setItem('playerY', player.y); };
===================================================================
--- original.js
+++ change.js
@@ -94,10 +94,11 @@
};
}
var rectangleData = generateRectangle();
var player = new Player();
-player.x = game.width / 2;
-player.y = game.height / 2;
+// Set the player's position to the saved position
+player.x = localStorage.getItem('playerX') ? localStorage.getItem('playerX') : game.width / 2;
+player.y = localStorage.getItem('playerY') ? localStorage.getItem('playerY') : game.height / 2;
player.width = rectangleData.blockSize / 3;
player.height = rectangleData.blockSize / 3;
game.addChild(player);
// Create 4 walls for up, down, left and right sides
@@ -177,5 +178,8 @@
}
game.update = function () {
checkCollisions();
checkExit();
+ // Save the player's real-time position
+ localStorage.setItem('playerX', player.x);
+ localStorage.setItem('playerY', player.y);
};
\ No newline at end of file