Code edit (1 edits merged)
Please save this source code
User prompt
Make exit on top right of the maze
User prompt
Make walls around mazewith last walls of the sides
User prompt
Relove 2 top lines each time
User prompt
Make the maze between all the sides of screen only
User prompt
Fit the maze to screen and inside it only and remove 2 top lines for the maze to be below the pause
User prompt
Reduce wall numbers
User prompt
Djust the maze to fit the player in space not on walls
User prompt
Make square walls not rectangle walls
User prompt
Scale walls like player
User prompt
Scale the walls a bit
User prompt
Scale the player and fit it to maze to player with player in the maze
User prompt
Remove asset space frome game
User prompt
Make player small
User prompt
make movment same as 1 small wall not taller walls
User prompt
make it same ass 1 small wall not taller walls
User prompt
Make Movements same distance of wall size on the vertical and on the horizontal don't constrained player to wall make it in the middle of space.
User prompt
Movment of player distance by 1 wall
User prompt
Don't close the roads for player make different roads on themaze
User prompt
Make player small
User prompt
Add the asset exit as exit object to the game
User prompt
Make it in the middle
User prompt
make it in the maze but far from the player
User prompt
ADD it to the game in maze at random position each time
User prompt
add exit to the game if touch it move to next level with another different maze
/**** * Classes ****/ // Create an Exit class var Exit = Container.expand(function () { var self = Container.call(this); // Attach the exit asset to the exit var exitGraphics = self.attachAsset('exit', { anchorX: 0.5, anchorY: 0.5, width: LK.getAsset('wall', {}).width, height: LK.getAsset('wall', {}).height }); }); // Removed maze regeneration and player reinitialization // Removed player movement and click event listener related to the maze // Create a Maze class var Maze = Container.expand(function () { var self = Container.call(this); // Define the generate method for the Maze class self.generate = function () { // Maze generation logic goes here var mazeSize = 30; var maze = []; for (var i = 0; i < mazeSize; i++) { maze[i] = []; for (var j = 0; j < mazeSize; j++) { maze[i][j] = Math.random() > 0.7 ? 1 : 0; } } for (var i = 0; i < mazeSize; i++) { for (var j = 0; j < mazeSize; j++) { if (maze[i][j] === 1) { // Create a space for the player to pass through the walls if (i === mazeSize - 1 && j === mazeSize - 1) { // Ensure the exit is far from the player var exitX = Math.floor(mazeSize / 2); var exitY = Math.floor(mazeSize / 2); var exit = new Exit(); exit.x = exitX * (2048 / mazeSize); exit.y = exitY * (2732 / mazeSize) + 200; self.addChild(exit); } else if (maze[i][j] === 1) { var wall = LK.getAsset('wall', { x: j * (2048 / mazeSize), y: i * (2732 / mazeSize) + 200, // Add 200 to the y coordinate to move the maze below the pause width: 2048 / mazeSize, height: 2732 / mazeSize }); self.addChild(wall); } } else {} } } }; }); // Create a Player class var Player = Container.expand(function () { var self = Container.call(this); // Attach the player asset to the player var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5, width: LK.getAsset('wall', {}).width / 2, height: LK.getAsset('wall', {}).height / 2 }); // Set the player's speed self.speed = 5; // This is automatically called every game tick, if the player is attached! self.update = function () { // Update the player's position based on its velocity if (self.moving) { var newX = self.x + self.vx; var newY = self.y + self.vy; // Check for collision with walls var collision = false; for (var i = 0; i < game.children.length; i++) { var child = game.children[i]; if (child !== self && child.intersects({ x: newX, y: newY, width: self.width, height: self.height })) { collision = true; break; } } if (!collision) { self.x = newX; self.y = newY; // Check for collision with the exit for (var i = 0; i < game.children.length; i++) { var child = game.children[i]; if (child instanceof Exit && child.intersects({ x: newX, y: newY, width: self.width, height: self.height })) { // Move to the next level game.removeChild(maze); maze = game.addChild(new Maze()); maze.generate(); break; } } } // Stop the player after moving a small distance if (Math.abs(self.x - self.startX) > self.distance || Math.abs(self.y - self.startY) > self.distance) { self.vx = 0; self.vy = 0; self.moving = false; } // If player collides with wall, stop its movement and start a 5 second timer if (collision) { self.vx = 0; self.vy = 0; self.moving = false; LK.setTimeout(function () { // Actions to perform after 5 seconds }, 5000); } } }; }); /**** * Initialize Game ****/ // Function to generate a random maze var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ var mazeSize = 100; // Increase the size of the maze to make it even bigger var offsetX = 0; var offsetY = 0; var maze = game.addChild(new Maze()); maze.generate(); // Add a click event listener to the game game.down = function (x, y, obj) { // Calculate the direction of the click relative to the player var dx = x - player.x; var dy = y - player.y; // Set the player's velocity based on the direction of the click if (Math.abs(dx) > Math.abs(dy)) { player.vx = dx > 0 ? player.speed : -player.speed; player.vy = 0; } else { player.vx = 0; player.vy = dy > 0 ? player.speed : -player.speed; } // Add a flag to stop continuous movement player.moving = true; // Set the start position and the distance to move player.startX = player.x; player.startY = player.y; player.distance = LK.getAsset('wall', {}).width / 2; // Set the distance to move // Update the player's position to be in the middle of the space player.x += player.vx * player.distance / 2; player.y += player.vy * player.distance / 2; }; // Initialize the player var player = game.addChild(new Player()); // Set the player's initial position player.x = 2048 - player.width; // Spawn player in the bottom right corner player.y = 2732 - player.height;
===================================================================
--- original.js
+++ change.js
@@ -49,20 +49,9 @@
height: 2732 / mazeSize
});
self.addChild(wall);
}
- } else {
- // Create multiple paths by adding spaces at random positions
- if (Math.random() > 0.5) {
- var space = LK.getAsset('space', {
- x: j * (2048 / mazeSize),
- y: i * (2732 / mazeSize) + 200,
- width: 2048 / mazeSize,
- height: 2732 / mazeSize
- });
- self.addChild(space);
- }
- }
+ } else {}
}
}
};
});