Code edit (2 edits merged)
Please save this source code
User prompt
the hamster ,bomb,health should appear from hole only
User prompt
add a new icon called hole in all pop up location
User prompt
move all assets to the center
User prompt
place the hole too back
User prompt
Please fix the bug: 'Uncaught RangeError: Maximum call stack size exceeded' in or related to this line: 'var self = Container.call(this);' Line Number: 129
User prompt
make hole as a class
User prompt
all hole should be there at starting of the game
User prompt
dont make the hole disappear
User prompt
place hole in the places of hamster and bomb
User prompt
fic the bug with countdown timer
User prompt
add countdown timer to the top left corner
User prompt
add pop up effect to the hamster
User prompt
make it more slower
User prompt
avoid the movement of hamster ,make it shake in same place
User prompt
add slow linear shake effect to the hamster in y and -y direction
User prompt
add slow shake effect to the hamster in y direction
User prompt
make the hamster shake
User prompt
make the hamster appear in and out movement
Code edit (1 edits merged)
Please save this source code
User prompt
the hamster and bomb should not collide in same place
User prompt
reduce the popup time of hamster ,bomb , health to 3 seconds when the player scored 20 points
User prompt
increase the speed of hamster, bomb ,health after player gets each 20 points
Code edit (2 edits merged)
Please save this source code
User prompt
add a background image
/**** * Classes ****/ // Bomb class var Bomb = Container.expand(function () { var self = Container.call(this); var bombGraphics = self.attachAsset('bomb', { anchorX: 1, anchorY: -2 }); self.visible = false; self.isPoppedUp = false; self.popUp = function () { self.visible = true; self.isPoppedUp = true; LK.setTimeout(function () { self.popDown(); }, 2000); }; self.popDown = function () { self.visible = false; self.isPoppedUp = false; }; self.hit = function () { if (self.isPoppedUp) { self.popDown(); gameTimer -= 10; // Subtract 10 seconds from the timer timerTxt.setText(gameTimer.toString()); // Update the timer display } }; self.down = function (x, y, obj) { self.hit(); }; }); // Assets will be automatically created and loaded based on their usage in the code. // Hamster class var Hamster = Container.expand(function () { var self = Container.call(this); var hamsterGraphics = self.attachAsset('hamster', { anchorX: 1, anchorY: -2 }); self.visible = false; self.isPoppedUp = false; self.popUp = function () { self.visible = true; self.isPoppedUp = true; self.shakeDirection = 1; LK.setTimeout(function () { self.popDown(); }, 2000); }; self.update = function () { if (self.isPoppedUp) { self.y += 5 * self.shakeDirection; if (self.y > 300) { self.shakeDirection = -1; } else if (self.y < 200) { self.shakeDirection = 1; } } }; self.popDown = function () { self.visible = false; self.isPoppedUp = false; }; self.hit = function () { if (self.isPoppedUp) { self.popDown(); LK.setScore(LK.getScore() + 1); scoreTxt.setText(LK.getScore()); gameTimer += 2; // Add 6 seconds to the timer timerTxt.setText(gameTimer.toString()); // Update the timer display } }; self.down = function (x, y, obj) { self.hit(); }; }); // Health class var Health = Container.expand(function () { var self = Container.call(this); var healthGraphics = self.attachAsset('health', { anchorX: 1, anchorY: -2 }); self.visible = false; self.isPoppedUp = false; self.popUp = function () { self.visible = true; self.isPoppedUp = true; LK.setTimeout(function () { self.popDown(); }, 2000); }; self.popDown = function () { self.visible = false; self.isPoppedUp = false; }; self.hit = function () { if (self.isPoppedUp) { self.popDown(); gameTimer += 10; // Add 10 seconds to the timer timerTxt.setText(gameTimer.toString()); // Update the timer display } }; self.down = function (x, y, obj) { self.hit(); }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ var background = game.attachAsset('background', { anchorX: 0, anchorY: 0 }); LK.setTimeout(function () { var randomIndex = Math.floor(Math.random() * healths.length); healths[randomIndex].popUp(); }, 10000); // Set interval to pop up health // Initialize score text var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Initialize gameTimer var gameTimer = 20; // Initialize timer text var timerTxt = new Text2(gameTimer.toString(), { size: 150, fill: "#ffffff" }); timerTxt.anchor.set(1, 0); LK.gui.topRight.addChild(timerTxt); // Initialize hamsters, bombs, health and gameTimer var hamsters = []; var bombs = []; var healths = []; for (var i = 0; i < 9; i++) { var hamster = new Hamster(); hamster.x = i % 3 * 600 + 400; hamster.y = Math.floor(i / 3) * 600 + 400; game.addChild(hamster); hamsters.push(hamster); var bomb = new Bomb(); bomb.x = i % 3 * 600 + 400; bomb.y = Math.floor(i / 3) * 600 + 400; game.addChild(bomb); bombs.push(bomb); var health = new Health(); health.x = i % 3 * 600 + 400; health.y = Math.floor(i / 3) * 600 + 400; game.addChild(health); healths.push(health); } // Function to randomly pop up hamsters or bombs function randomPopUp() { var randomIndex1 = Math.floor(Math.random() * hamsters.length); var randomIndex2; do { randomIndex2 = Math.floor(Math.random() * bombs.length); } while (randomIndex1 == randomIndex2); hamsters[randomIndex1].popUp(); bombs[randomIndex2].popUp(); } // Set interval to pop up hamsters var popUpInterval = LK.setInterval(randomPopUp, 1000); // Game update function game.update = function () { // Decrease gameTimer by 1 every second if (LK.ticks % 60 == 0) { gameTimer--; timerTxt.setText(gameTimer.toString()); } checkGameOver(); }; // Game over condition function checkGameOver() { // Check if the game is over if (gameTimer <= 0) { LK.showGameOver(); } } // Add game over check to update function game.update = function () { checkGameOver(); };
===================================================================
--- original.js
+++ change.js
@@ -51,12 +51,12 @@
}, 2000);
};
self.update = function () {
if (self.isPoppedUp) {
- self.y += self.shakeDirection;
- if (self.y > 10) {
+ self.y += 5 * self.shakeDirection;
+ if (self.y > 300) {
self.shakeDirection = -1;
- } else if (self.y < -10) {
+ } else if (self.y < 200) {
self.shakeDirection = 1;
}
}
};
curious hamster emerge from the cozy burrow background. Play the “Hit the Hamster” game. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
mud with grass field ground. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
sparking bomb inside MUD HOLE. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
hammer with lightning. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
score board. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
red bomb. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.