User prompt
show leaderboard at the pause menu
User prompt
add scores of the best players at the end of the game
User prompt
add records at the end of the game
Code edit (1 edits merged)
Please save this source code
User prompt
jump is not working . fix it
User prompt
make jump lower
User prompt
add physics to the jump
User prompt
add jump to the wolf when click the mouse
User prompt
remove jump button
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'y')' in or related to this line: 'if (livesArray[i].y > 2732) {' Line Number: 248
User prompt
wolf can jump when you pess the button
User prompt
The wolf turns in the direction where the cursor moves
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'y')' in or related to this line: 'if (rottenEggs[i].y > 2732) {' Line Number: 198
User prompt
The game gets more complicated as the score increases
User prompt
add pause button
User prompt
The higher the score, the more rotten eggs there are
User prompt
drop only three live when player scores every 100 points
User prompt
If the player scores 100 points, then three live will drop.
User prompt
less live falls
User prompt
one live falls every 100 score points
User prompt
less rotteneggs
User prompt
live falls every 100 score points and give you +1 live
User prompt
golden egg gives double points
User prompt
goldenegg falls every 15 score points
User prompt
remove golden egg
/**** * Classes ****/ // Egg class for falling eggs var Egg = Container.expand(function () { var self = Container.call(this); var eggGraphics = self.attachAsset('egg', { anchorX: 0.5, anchorY: 0.5 }); self.speed = Math.random() * 5 + 2 + Math.floor(score / 100); self.update = function () { self.y += self.speed; }; }); // GoldenEgg class for falling golden eggs var GoldenEgg = Container.expand(function () { var self = Container.call(this); var goldenEggGraphics = self.attachAsset('goldenegg', { anchorX: 0.5, anchorY: 0.5 }); self.speed = Math.random() * 5 + 2 + Math.floor(score / 100); self.update = function () { self.y += self.speed; }; }); //<Assets used in the game will automatically appear here> // Live class for falling lives var Live = Container.expand(function () { var self = Container.call(this); var liveGraphics = self.attachAsset('live', { anchorX: 0.5, anchorY: 0.5 }); self.speed = Math.random() * 5 + 2 + Math.floor(score / 100); self.update = function () { self.y += self.speed; }; }); // RottenEgg class for falling rotten eggs var RottenEgg = Container.expand(function () { var self = Container.call(this); var rottenEggGraphics = self.attachAsset('rottenEgg', { anchorX: 0.5, anchorY: 0.5 }); self.speed = Math.random() * 5 + 2 + Math.floor(score / 100); self.update = function () { self.y += self.speed; }; }); // Wolf class to control the player character var Wolf = Container.expand(function () { var self = Container.call(this); var wolfGraphics = self.attachAsset('wolf', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update the wolf's y position based on the gravity this.y += this.gravity; // Apply gravity this.gravity += 1; // Make sure the wolf doesn't fall through the ground if (this.y > 2732 - 200) { this.y = 2732 - 200; this.gravity = 0; this.isJumping = false; // Wolf is not jumping anymore } }; self.gravity = 0; self.isJumping = false; // Add a new property to check if the wolf is jumping self.jump = function () { // Define the jump height var jumpHeight = 40; // Make sure the wolf is not already jumping if (!this.isJumping) { // Make the wolf jump this.gravity = -jumpHeight; this.isJumping = true; // Wolf is now jumping } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ var background = game.attachAsset('background', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 }); // Initialize game variables var wolf = game.addChild(new Wolf()); wolf.x = 2048 / 2; wolf.y = 2732 - 200; var eggs = []; var rottenEggs = []; var goldenEggs = []; var livesArray = []; var score = 0; var lives = 3; var protectionTimer = 0; // Display score var scoreTxt = new Text2('Score: 0', { size: 100, fill: "#ffffff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Display lives var livesTxt = new Text2('Lives: ' + lives, { size: 100, fill: "#ffffff" }); livesTxt.anchor.set(0.5, 0); livesTxt.y = 100; // Move the life counter some down LK.gui.top.addChild(livesTxt); // Add a pause button var pauseButton = new Text2('Pause', { size: 100, fill: "#ffffff" }); pauseButton.anchor.set(0.5, 0); pauseButton.x = 2048 - 200; // Position the pause button at the top right corner LK.gui.top.addChild(pauseButton); // Handle pause button click pauseButton.down = function (x, y, obj) { LK.pauseGame(); // Add leaderboard var leaderboard = new Text2('Leaderboard:\n1. Player1: ' + score + '\n2. Player2: ' + (score - 10) + '\n3. Player3: ' + (score - 20), { size: 100, fill: "#ffffff" }); leaderboard.anchor.set(0.5, 0); leaderboard.x = 2048 / 2; leaderboard.y = 2732 / 2; LK.gui.center.addChild(leaderboard); }; // Handle wolf movement game.move = function (x, y, obj) { if (x > wolf.x) { wolf.scaleX = 1; // face right } else if (x < wolf.x) { wolf.scaleX = -1; // face left } wolf.x = x; }; game.down = function (x, y, obj) { wolf.jump(); }; // Update game state game.update = function () { // Spawn eggs and rotten eggs if (LK.ticks % 60 == 0) { var newEgg = new Egg(); newEgg.x = Math.random() * 2048; newEgg.y = -50; eggs.push(newEgg); game.addChild(newEgg); } if (LK.ticks % (360 - Math.floor(score / 10)) == 0) { var newRottenEgg = new RottenEgg(); newRottenEgg.x = Math.random() * 2048; newRottenEgg.y = -50; rottenEggs.push(newRottenEgg); game.addChild(newRottenEgg); } if (score % 15 == 0 && score > 0) { var newGoldenEgg = new GoldenEgg(); newGoldenEgg.x = Math.random() * 2048; newGoldenEgg.y = -50; goldenEggs.push(newGoldenEgg); game.addChild(newGoldenEgg); } if (score != 0 && score % 100 == 0 && livesArray.length < 3) { var newLive = new Live(); newLive.x = Math.random() * 2048; newLive.y = -50; livesArray.push(newLive); game.addChild(newLive); } // Update eggs and check for collisions for (var i = eggs.length - 1; i >= 0; i--) { eggs[i].update(); if (eggs[i].intersects(wolf)) { score += 1; scoreTxt.setText('Score: ' + score); eggs[i].destroy(); eggs.splice(i, 1); } else if (eggs[i].y > 2732) { lives -= 1; livesTxt.setText('Lives: ' + lives); eggs[i].destroy(); eggs.splice(i, 1); if (lives <= 0) { LK.effects.flashScreen(0xff0000, 1000); console.log("Game Over! Your score was: " + score); // Add leaderboard var leaderboard = new Text2('Leaderboard:\n1. Player1: ' + score + '\n2. Player2: ' + (score - 10) + '\n3. Player3: ' + (score - 20), { size: 100, fill: "#ffffff" }); leaderboard.anchor.set(0.5, 0); leaderboard.x = 2048 / 2; leaderboard.y = 2732 / 2; LK.gui.center.addChild(leaderboard); LK.showGameOver(); } } } // Update rotten eggs and check for collisions for (var i = rottenEggs.length - 1; i >= 0; i--) { rottenEggs[i].update(); if (rottenEggs[i].intersects(wolf)) { if (protectionTimer <= 0) { lives -= 1; livesTxt.setText('Lives: ' + lives); if (lives <= 0) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } } rottenEggs[i].destroy(); rottenEggs.splice(i, 1); } if (rottenEggs[i] && rottenEggs[i].y > 2732) { rottenEggs[i].destroy(); rottenEggs.splice(i, 1); } } for (var i = goldenEggs.length - 1; i >= 0; i--) { goldenEggs[i].update(); if (goldenEggs[i].intersects(wolf)) { protectionTimer = 900; // 15 seconds * 60 FPS score += 2; // Double points for golden egg scoreTxt.setText('Score: ' + score); goldenEggs[i].destroy(); goldenEggs.splice(i, 1); } if (goldenEggs[i].y > 2732) { goldenEggs[i].destroy(); goldenEggs.splice(i, 1); } } for (var i = livesArray.length - 1; i >= 0; i--) { livesArray[i].update(); if (livesArray[i].intersects(wolf)) { lives += 1; livesTxt.setText('Lives: ' + lives); livesArray[i].destroy(); livesArray.splice(i, 1); } if (livesArray[i] && livesArray[i].y > 2732) { livesArray[i].destroy(); livesArray.splice(i, 1); } } };
===================================================================
--- original.js
+++ change.js
@@ -135,8 +135,17 @@
LK.gui.top.addChild(pauseButton);
// Handle pause button click
pauseButton.down = function (x, y, obj) {
LK.pauseGame();
+ // Add leaderboard
+ var leaderboard = new Text2('Leaderboard:\n1. Player1: ' + score + '\n2. Player2: ' + (score - 10) + '\n3. Player3: ' + (score - 20), {
+ size: 100,
+ fill: "#ffffff"
+ });
+ leaderboard.anchor.set(0.5, 0);
+ leaderboard.x = 2048 / 2;
+ leaderboard.y = 2732 / 2;
+ LK.gui.center.addChild(leaderboard);
};
// Handle wolf movement
game.move = function (x, y, obj) {
if (x > wolf.x) {
Cartoon wolf. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Cartoon egg. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Cartoon rotten egg. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cartoon golden egg. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cartoon egg with big heart. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cartoon scared chicken. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cartoon bonus egg. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.