User prompt
Start respawning wall2 from left side
User prompt
Add walls spawning from left to the right in level2
User prompt
Make respawning of wall2 only from top between boundaries
User prompt
Start respawning wall2 from left and top for level 2
User prompt
Remove all respawning wall2 in level 2
User prompt
Remove the spawning from top to bottom in left side make spawning from lef to right in side the scren only
User prompt
Make wall2 spawning only from top and from left in level 2
User prompt
remove respawning from top to bottom make respawn from left side to the right side in level 2
User prompt
Add wall2 from left in level 2
User prompt
Remove the respawning on left side in level 2
User prompt
Add wall2 spawning from left to right in level2
User prompt
Make 2 respawns from to and from left for level 2
User prompt
add respawning of wall2 from left to right for level 2
User prompt
add statu time to text time from 0 to 20 sec for all levels
User prompt
Add time text in left upper corner
User prompt
change level each 20 sec
User prompt
Remove time from all levels
User prompt
Fix the game
User prompt
Don't speed decreasing time by 2 sec make it move by 1 sec
User prompt
Fix time in game in all levels move slowly
Code edit (1 edits merged)
Please save this source code
User prompt
If walls start spawning in each level start time
User prompt
Move to level 4 after level 3
User prompt
Make time moving similar as in level 1 from 15 sec to 0 sec
User prompt
Don't make time moving fast in level 2
/****
* Classes
****/
// Create a Player class
var Player = Container.expand(function () {
var self = Container.call(this);
// Attach a shape asset to represent the player
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
// Set player speed
self.speed = 50;
// This is automatically called every game tick, if the player is attached!
self.update = function () {
// No continuous movement
};
});
// Create a RandomShape class for shapes spawning from top and left
var RandomShape = Container.expand(function () {
var self = Container.call(this);
// Attach a random shape asset to represent the shape
var shapeGraphics = self.attachAsset('shape' + Math.floor(Math.random() * 10), {
anchorX: 0.5,
anchorY: 0.5,
width: Math.random() * 200,
// Random width between 0 and 200
height: Math.random() * 200 // Random height between 0 and 200
});
// Set shape speed
self.speed = 2;
// This is automatically called every game tick, if the shape is attached!
self.update = function () {
// Randomly decide the direction of the shape
if (Math.random() < 0.5) {
self.y += self.speed;
} else {
self.x += self.speed;
}
};
});
// Create a Wall2 class for wall2 spawning from top and moving vertically to the bottom
var Wall2 = Container.expand(function () {
var self = Container.call(this);
// Attach a wall2 asset to represent the wall
var wallGraphics = self.attachAsset('wall2', {
anchorX: 0.5,
anchorY: 0.5,
height: 200 // Make the wall taller
});
// Set wall speed
self.speed = 4;
// This is automatically called every game tick, if the wall is attached!
self.update = function () {
self.y += self.speed;
};
});
// Create a Wall3 class for walls spawning from bottom to top and right to left
var Wall3 = Container.expand(function () {
var self = Container.call(this);
// Attach a wall3 asset to represent the wall
var wallGraphics = self.attachAsset('wall3', {
anchorX: 0.5,
anchorY: 0.5,
width: Math.random() * 200 + 100,
// Random width
height: Math.random() * 200 + 100 // Random height
});
// Set wall speed
self.speed = 4;
// This is automatically called every game tick, if the wall is attached!
self.update = function () {
self.y -= self.speed; // Move upwards
};
});
// Create a Wall3Right class for walls spawning from right to left
var Wall3Right = Container.expand(function () {
var self = Container.call(this);
// Attach a wall3 asset to represent the wall
var wallGraphics = self.attachAsset('wall3', {
anchorX: 0.5,
anchorY: 0.5,
width: Math.random() * 200 + 100,
// Random width
height: Math.random() * 200 + 100 // Random height
});
// Set wall speed
self.speed = 4;
// This is automatically called every game tick, if the wall is attached!
self.update = function () {
self.x -= self.speed; // Move leftwards
};
});
// Create a Wall4 class for walls spawning from bottom to top and left to right
var Wall4 = Container.expand(function () {
var self = Container.call(this);
// Attach a wall4 asset to represent the wall
var wallGraphics = self.attachAsset('wall4', {
anchorX: 0.5,
anchorY: 0.5,
width: Math.random() * 200 + 100,
// Random width
height: Math.random() * 200 + 100 // Random height
});
// Set wall speed
self.speed = 4;
// This is automatically called every game tick, if the wall is attached!
self.update = function () {
if (Math.random() < 0.5) {
self.y -= self.speed; // Move upwards
} else {
self.x += self.speed; // Move rightwards
}
};
});
// Create a WallHorizontal class for taller horizontal walls spawning from right
var WallHorizontal = Container.expand(function () {
var self = Container.call(this);
// Attach a wall asset to represent the wall
var wallGraphics = self.attachAsset('wall1', {
anchorX: 0.5,
anchorY: 0.5,
width: Math.random() * 200 + 100 // Make the wall wider and random
});
// Set wall speed
self.speed = 4;
// This is automatically called every game tick, if the wall is attached!
self.update = function () {
self.x -= self.speed;
};
});
// Create a WallVertical class for vertical walls spawning from top
var WallVertical = Container.expand(function () {
var self = Container.call(this);
// Attach a wall asset to represent the wall
var wallGraphics = self.attachAsset('wall1', {
anchorX: 0.5,
anchorY: 0.5,
height: Math.random() * 200 + 100 // Make the wall taller and random
});
// Set wall speed
self.speed = 4;
// This is automatically called every game tick, if the wall is attached!
self.update = function () {
self.y += self.speed;
};
});
// Create a WallVertical2 class for taller vertical walls spawning from top to bottom
var WallVertical2 = Container.expand(function () {
var self = Container.call(this);
// Attach a wall asset to represent the wall
var wallGraphics = self.attachAsset('wall1', {
anchorX: 0.5,
anchorY: 0.5,
height: Math.random() * 200 + 100 // Make the wall taller and random
});
// Set wall speed
self.speed = 4;
// This is automatically called every game tick, if the wall is attached!
self.update = function () {
self.y += self.speed;
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
var background = null;
function setBackgroundForLevel(level) {
if (background) {
background.destroy(); // Remove the current background
}
if (level === 1) {
background = game.addChildAt(LK.getAsset('Background1', {
anchorX: 0.0,
anchorY: 0.0,
x: (game.width - LK.getAsset('Background1', {}).width * game.width / LK.getAsset('Background1', {}).width) / 2,
y: (game.height - LK.getAsset('Background1', {}).height * game.height / LK.getAsset('Background1', {}).height) / 2
}), 0);
background.scale.set(game.width / background.width, game.height / background.height);
} else if (level === 2) {
background = game.addChildAt(LK.getAsset('Background2', {
anchorX: 0.0,
anchorY: 0.0,
x: (game.width - LK.getAsset('Background2', {}).width * game.width / LK.getAsset('Background2', {}).width) / 2,
y: (game.height - LK.getAsset('Background2', {}).height * game.height / LK.getAsset('Background2', {}).height) / 2
}), 0);
background.scale.set(game.width / background.width, game.height / background.height);
} else if (level === 3) {
levelText.setText('Level 3'); // Update level text for level 3
background = game.addChildAt(LK.getAsset('Background3', {
anchorX: 0.0,
anchorY: 0.0,
x: (game.width - LK.getAsset('Background3', {}).width * game.width / LK.getAsset('Background3', {}).width) / 2,
y: (game.height - LK.getAsset('Background3', {}).height * game.height / LK.getAsset('Background3', {}).height) / 2
}), 0);
background.scale.set(game.width / background.width, game.height / background.height);
} else if (level === 4) {
levelText.setText('Level 4'); // Update level text for level 4
background = game.addChildAt(LK.getAsset('Background4', {
anchorX: 0.0,
anchorY: 0.0,
x: (game.width - LK.getAsset('Background4', {}).width * game.width / LK.getAsset('Background4', {}).width) / 2,
y: (game.height - LK.getAsset('Background4', {}).height * game.height / LK.getAsset('Background4', {}).height) / 2
}), 0);
background.scale.set(game.width / background.width, game.height / background.height);
} else if (level === 5) {
levelText.setText('Level 5'); // Update level text for level 5
background = game.addChildAt(LK.getAsset('Background5', {
anchorX: 0.0,
anchorY: 0.0,
x: (game.width - LK.getAsset('Background5', {}).width * game.width / LK.getAsset('Background5', {}).width) / 2,
y: (game.height - LK.getAsset('Background5', {}).height * game.height / LK.getAsset('Background5', {}).height) / 2
}), 0);
background.scale.set(game.width / background.width, game.height / background.height);
} else if (level === 6) {
levelText.setText('Level 6'); // Update level text for level 6
background = game.addChildAt(LK.getAsset('Background6', {
anchorX: 0.0,
anchorY: 0.0,
x: (game.width - LK.getAsset('Background6', {}).width * game.width / LK.getAsset('Background6', {}).width) / 2,
y: (game.height - LK.getAsset('Background6', {}).height * game.height / LK.getAsset('Background6', {}).height) / 2
}), 0);
background.scale.set(game.width / background.width, game.height / background.height);
}
if (background) {
background.scale.set(game.width / background.width, game.height / background.height);
}
}
setBackgroundForLevel(level);
var level = 1;
var levelChangeInterval = 20 * 60; // 20 seconds at 60 FPS
var levelChangeTimer = 0;
// Initialize timer for each level
// Initialize background
var background;
if (level === 1) {
background = game.addChildAt(LK.getAsset('Background1', {
anchorX: 0.0,
anchorY: 0.0,
width: game.width,
height: game.height,
x: 0,
y: 0
}), 0);
} else if (level === 2) {
background = game.addChildAt(LK.getAsset('Background2', {
anchorX: 0.0,
anchorY: 0.0,
width: game.width,
height: game.height,
x: 0,
y: 0
}), 0);
} else if (level === 3) {
background = game.addChildAt(LK.getAsset('Background3', {
anchorX: 0.0,
anchorY: 0.0,
x: (game.width - LK.getAsset('Background3', {}).width * game.width / LK.getAsset('Background3', {}).width) / 2,
y: (game.height - LK.getAsset('Background3', {}).height * game.height / LK.getAsset('Background3', {}).height) / 2
}), 0);
background.scale.set(game.width / background.width, game.height / background.height);
}
// Fit the background to the screen if it is defined
if (background) {
background.scale.set(game.width / background.width, game.height / background.height);
background.width = game.width;
background.height = game.height;
}
// Add level text on 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 right of the top edge of the text.
LK.gui.topRight.addChild(levelText);
// Initialize 10 background assets for each level
for (var i = 1; i <= 10; i++) {}
// Add time text on the top left corner
var timeText = new Text2('Time: 0', {
size: 100,
fill: 0x808080 // Grey color
});
timeText.anchor.set(0, 0); // Sets anchor to the left of the top edge of the text.
LK.gui.topLeft.addChild(timeText);
// Initialize a player instance and attach it to the game
var player = game.addChild(new Player());
// Position player at the center of the screen
player.x = game.width / 2;
player.y = game.height / 2;
// Show player on the screen for level 2
if (level === 2) {
player.visible = true;
player.x = game.width / 2;
player.y = 0;
}
// Initialize dragNode
var dragNode = null;
// Removed maze regeneration and player reinitialization
// Removed player movement and click event listener related to the maze
// Function to generate a random maze
// Add event listener for player movement
// Removed game.down event listener as it's not needed
// Update game loop to move player towards target position
var targetPosition = null;
game.update = function () {
if (targetPosition) {
var dx = targetPosition.x - player.x;
var dy = targetPosition.y - player.y;
var angle = Math.atan2(dy, dx);
player.x += Math.cos(angle) * player.speed;
player.y += Math.sin(angle) * player.speed;
}
// Create random vertical and horizontal walls for wall1 in level 1 only
if (level === 1 && LK.ticks % 60 == 0) {
// Removed redundant timer initialization
var newWall;
if (Math.random() < 0.5) {
newWall = new WallVertical();
newWall.x = Math.random() * (game.width - newWall.width) + newWall.width / 2;
newWall.y = 0;
} else {
newWall = new WallHorizontal();
newWall.x = game.width;
newWall.y = Math.random() * (game.height - newWall.height) + newWall.height / 2;
}
game.addChild(newWall);
}
// Hide walls from level 1 when level 2 starts
if (level === 2) {
for (var i = game.children.length - 1; i >= 0; i--) {
if (game.children[i] instanceof WallVertical || game.children[i] instanceof WallHorizontal) {
game.children[i].visible = false;
}
}
}
// Add wall2 to level 2 as objects respawning from left to right
if (level === 2 && LK.ticks % 60 == 0) {
var newWall2Left = new Wall2();
newWall2Left.x = 0;
newWall2Left.y = Math.random() * (game.height - newWall2Left.height) + newWall2Left.height / 2;
game.addChild(newWall2Left);
}
// Add wall3 to level 3 as objects respawning from bottom to top
if (level === 3 && LK.ticks % 60 == 0) {
var newWall3 = new Wall3();
newWall3.x = Math.random() * (game.width - newWall3.width) + newWall3.width / 2;
newWall3.y = game.height;
game.addChild(newWall3);
var newWall7 = new Wall3Right();
newWall7.x = game.width;
newWall7.y = Math.random() * (game.height - newWall7.height) + newWall7.height / 2;
game.addChild(newWall7);
// Remove redundant timer initialization for level 3
}
// Add wall5 to level 5 as objects respawning from top to bottom
if (level === 5 && LK.ticks % 60 == 0) {
// Ensure timer decreases correctly for level 5
var newWall5 = new WallVertical2();
newWall5.x = Math.random() * (game.width - newWall5.width) + newWall5.width / 2;
newWall5.y = 0;
game.addChild(newWall5);
}
// Add wall6 to level 6 as objects respawning from bottom to top
if (level === 6 && LK.ticks % 60 == 0) {
// Ensure timer decreases correctly for level 6
var newWall6 = new Wall3();
newWall6.x = Math.random() * (game.width - newWall6.width) + newWall6.width / 2;
newWall6.y = game.height;
game.addChild(newWall6);
}
// Add wall4 to level 4 as objects respawning from bottom to top and left to right
if (level === 4 && LK.ticks % 60 == 0) {
// Ensure timer decreases correctly for level 4
var newWall4;
if (Math.random() < 0.5) {
newWall4 = new Wall4();
newWall4.x = Math.random() * (game.width - newWall4.width) + newWall4.width / 2;
newWall4.y = game.height;
} else {
newWall4 = new Wall4();
newWall4.x = 0;
newWall4.y = Math.random() * (game.height - newWall4.height) + newWall4.height / 2;
}
game.addChild(newWall4);
}
for (var i = 0; i < game.children.length; i++) {
if (game.children[i] instanceof WallVertical || game.children[i] instanceof WallHorizontal || game.children[i] instanceof Wall2 || game.children[i] instanceof WallVertical2) {
if (player.intersects(game.children[i]) && game.children[i].visible) {
LK.showGameOver();
break;
}
}
}
// Increment the level change timer
levelChangeTimer++;
// Update the time text to show the current status time
timeText.setText('Time: ' + Math.floor(levelChangeTimer / 60)); // Convert ticks to seconds
// Check if it's time to change the level
if (levelChangeTimer >= levelChangeInterval) {
levelChangeTimer = 0; // Reset the timer
level++; // Increment the level
if (level > 6) {
level = 1;
} // Loop back to level 1 after level 6
setBackgroundForLevel(level); // Change the background for the new level
levelText.setText('Level ' + level); // Update the level text
}
};
// Add event listeners for player movement
// Define handleMove function
function handleMove(x, y, obj) {
if (dragNode) {
dragNode.x = x;
dragNode.y = y;
}
}
game.down = function (x, y, obj) {
dragNode = player;
handleMove(x, y, obj);
};
game.move = handleMove;
// Removed game.move event listener as it's not needed
// Removed player movement towards target position in game update
game.up = function (x, y, obj) {
dragNode = null;
}; ===================================================================
--- original.js
+++ change.js
@@ -340,15 +340,10 @@
game.children[i].visible = false;
}
}
}
- // Add wall2 to level 2 as objects respawning from top to bottom
+ // Add wall2 to level 2 as objects respawning from left to right
if (level === 2 && LK.ticks % 60 == 0) {
- var newWall2Top = new Wall2();
- newWall2Top.x = Math.random() * (game.width - newWall2Top.width) + newWall2Top.width / 2;
- newWall2Top.y = 0;
- game.addChild(newWall2Top);
- // Add wall2 to level 2 as objects respawning from left to right
var newWall2Left = new Wall2();
newWall2Left.x = 0;
newWall2Left.y = Math.random() * (game.height - newWall2Left.height) + newWall2Left.height / 2;
game.addChild(newWall2Left);
Playable maze with orange lines. at black background.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
2d coin. Ninja face in the coin. red coin. 2 circles inside it. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Fullscreen, high definition, light, blur, small time watch, colors, wood, for a game titled "Maze" and with the description "Navigate ever-changing mazes! Each level with different background, coins, time speed. Can you finish collecting coins before time is up? Challenge your skills in Maze!". with text on banner "MAZE"!