User prompt
when food counter reaches 60, change background for background6 for 5 sec
User prompt
Create backgound7, obstacle1k, obstacle2k, obstacle3k, hero4. Replace hero3, obstacle1g, obstacle2g, obstacle3g with the new assets after food reaching 65. Make obstacle1k, obstacle2k, obstacle3k harmful for the hero
User prompt
Create backgound7, obstacle1k, obstacle2k, obstacle3k, hero2. Replace hero3, obstacle1g, obstacle2g, obstacle3g with the new assets after food reaching 65. Make obstacle1k, obstacle2k, obstacle3k harmful for the hero
User prompt
when food counter reaches 60, change background for background4 for 5 sec
User prompt
create background
User prompt
make obstacle1g, obstacle2g, obstacle3g harmful for the hero
User prompt
Remove logic show background4 when food reaches 50
User prompt
Create backgound5, obstacle1g, obstacle2g, obstacle3g, hero3. Replace hero2, obstacle1,e obstacle2e, obstacle3e with the new assets after food reaching 52.
User prompt
when food counter reaches 35, change background for background4 for 5 sec
User prompt
create new background
User prompt
make obstacle1e, obstacle2e, obstacle3e harmful for the hero
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'update')' in or related to this line: 'obstacles[i].update();' Line Number: 295
User prompt
Create backgound3, obstacle1e, obstacle2e, obstacle3e, hero2. Replace hero, obstacle, obstacle2m, obstacle3m with the new assets after food reaching 30.
User prompt
After reaching 10 food increase difficulty a little
User prompt
when food counter reaches 10, change background for background2 for 5 sec
User prompt
Place food counter on the bottom left corner
User prompt
Create a food counter, starting with 0. When hero touches food or food2m add 1.
User prompt
Remove normal counter
User prompt
Pkace new time counter to the top right corner
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'toString')' in or related to this line: 'timeTxt = new Text2(timeElapsed.toString(), {' Line Number: 144
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'toString')' in or related to this line: 'timeTxt = new Text2(timeElapsed.toString(), {' Line Number: 144
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'setText')' in or related to this line: 'timeTxt.setText(timeElapsed);' Line Number: 146
User prompt
remove the former time counter
User prompt
Add time counter
User prompt
Add new background when Time conter reaches -5000
/**** * Classes ****/ var Background = Container.expand(function () { var self = Container.call(this); var backgroundGraphics = self.attachAsset('background', { anchorX: 0.5, anchorY: 0.5 }); self.x = 2048 / 2; self.y = 2732 / 2; }); var Background4 = Container.expand(function () { var self = Container.call(this); var backgroundGraphics = self.attachAsset('background4', { anchorX: 0.5, anchorY: 0.5 }); self.x = 2048 / 2; self.y = 2732 / 2; }); var Background6 = Container.expand(function () { var self = Container.call(this); var backgroundGraphics = self.attachAsset('background6', { anchorX: 0.5, anchorY: 0.5 }); self.x = 2048 / 2; self.y = 2732 / 2; }); var Food = Container.expand(function () { var self = Container.call(this); var foodGraphics = self.attachAsset('food', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); var index = obstacles.indexOf(self); if (index > -1) { obstacles.splice(index, 1); } } }; }); var Food2m = Container.expand(function () { var self = Container.call(this); var food2mGraphics = self.attachAsset('food2m', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); var index = obstacles.indexOf(self); if (index > -1) { obstacles.splice(index, 1); } } }; }); // Hero class var Hero = Container.expand(function () { var self = Container.call(this); var heroGraphics = self.attachAsset('hero', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; self.update = function () { // Hero update logic if (self.x < 0) { self.x = 0; } else if (self.x > 2048) { self.x = 2048; } }; // Removed jump logic }); //<Assets used in the game will automatically appear here> // Hero2 class var Hero2 = Container.expand(function () { var self = Container.call(this); var hero2Graphics = self.attachAsset('hero2', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; self.update = function () { if (self.x < 0) { self.x = 0; } else if (self.x > 2048) { self.x = 2048; } }; }); var Hero3 = Container.expand(function () { var self = Container.call(this); var hero3Graphics = self.attachAsset('hero3', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; self.update = function () { if (self.x < 0) { self.x = 0; } else if (self.x > 2048) { self.x = 2048; } }; }); var Hero4 = Container.expand(function () { var self = Container.call(this); var hero4Graphics = self.attachAsset('hero4', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; self.update = function () { if (self.x < 0) { self.x = 0; } else if (self.x > 2048) { self.x = 2048; } }; }); // Obstacle class var Obstacle = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = self.attachAsset('obstacle', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); // Obstacle1e class var Obstacle1e = Container.expand(function () { var self = Container.call(this); var obstacle1eGraphics = self.attachAsset('obstacle1e', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); var Obstacle1g = Container.expand(function () { var self = Container.call(this); var obstacle1gGraphics = self.attachAsset('obstacle1g', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); var Obstacle1k = Container.expand(function () { var self = Container.call(this); var obstacle1kGraphics = self.attachAsset('obstacle1k', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); // Obstacle2e class var Obstacle2e = Container.expand(function () { var self = Container.call(this); var obstacle2eGraphics = self.attachAsset('obstacle2e', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); var Obstacle2g = Container.expand(function () { var self = Container.call(this); var obstacle2gGraphics = self.attachAsset('obstacle2g', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); var Obstacle2k = Container.expand(function () { var self = Container.call(this); var obstacle2kGraphics = self.attachAsset('obstacle2k', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); var Obstacle2m = Container.expand(function () { var self = Container.call(this); var obstacle2mGraphics = self.attachAsset('obstacle2m', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); // Obstacle3e class var Obstacle3e = Container.expand(function () { var self = Container.call(this); var obstacle3eGraphics = self.attachAsset('obstacle3e', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); var Obstacle3g = Container.expand(function () { var self = Container.call(this); var obstacle3gGraphics = self.attachAsset('obstacle3g', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); var Obstacle3k = Container.expand(function () { var self = Container.call(this); var obstacle3kGraphics = self.attachAsset('obstacle3k', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); var Obstacle3m = Container.expand(function () { var self = Container.call(this); var obstacle3mGraphics = self.attachAsset('obstacle3m', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ var background = new Background(); game.addChild(background); var hero; var obstacles = []; var scoreTxt; var score = 0; var foodCounter = 0; var timeTxt; var timeElapsed = -6000; var gameSpeed = 5; // Initialize hero function initHero() { hero = new Hero(); hero.x = 1024; // Center horizontally hero.y = 2500; game.addChild(hero); } // Initialize score text function initScore() { scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); foodCounterTxt = new Text2('0', { size: 150, fill: "#ffffff" }); foodCounterTxt.anchor.set(0, 1); LK.gui.bottomLeft.addChild(foodCounterTxt); } // Update score function updateScore() { score += 1; scoreTxt.setText(score); } // Spawn obstacle function spawnObstacle() { var randomValue = Math.random(); if (randomValue < 0.25) { var obstacle = new Obstacle(); obstacle.x = Math.random() * 2048; obstacle.y = -obstacle.height / 2; obstacles.push(obstacle); game.addChild(obstacle); } else if (randomValue < 0.5) { var food = new Food(); food.x = Math.random() * 2048; food.y = -food.height / 2; obstacles.push(food); game.addChild(food); } else if (randomValue < 0.75) { var obstacle2m = new Obstacle2m(); obstacle2m.x = Math.random() * 2048; obstacle2m.y = -obstacle2m.height / 2; obstacles.push(obstacle2m); game.addChild(obstacle2m); } else if (randomValue < 0.875) { var obstacle3m = new Obstacle3m(); obstacle3m.x = Math.random() * 2048; obstacle3m.y = -obstacle3m.height / 2; obstacles.push(obstacle3m); game.addChild(obstacle3m); } else { var food2m = new Food2m(); food2m.x = Math.random() * 2048; food2m.y = -food2m.height / 2; obstacles.push(food2m); game.addChild(food2m); } } // Handle game over function handleGameOver() { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } // Handle move event function handleMove(x, y, obj) { if (hero) { hero.x = x; } } // Handle down event function handleDown(x, y, obj) { // Removed call to hero jump } // Game update function game.update = function () { // Update hero if (hero) { hero.update(); } // Update obstacles for (var i = obstacles.length - 1; i >= 0; i--) { if (obstacles[i]) { obstacles[i].update(); } if (hero && (obstacles[i] instanceof Obstacle || obstacles[i] instanceof Obstacle1e || obstacles[i] instanceof Obstacle2e || obstacles[i] instanceof Obstacle3e || obstacles[i] instanceof Obstacle1g || obstacles[i] instanceof Obstacle2g || obstacles[i] instanceof Obstacle3g || obstacles[i] instanceof Obstacle1k || obstacles[i] instanceof Obstacle2k || obstacles[i] instanceof Obstacle3k) && hero.intersects(obstacles[i])) { handleGameOver(); } else if (hero && (obstacles[i] instanceof Food || obstacles[i] instanceof Food2m) && hero.intersects(obstacles[i])) { obstacles[i].destroy(); obstacles.splice(i, 1); updateScore(); foodCounter += 1; foodCounterTxt.setText(foodCounter); timeElapsed += 100; // Add 100 to the time counter timeTxt.setText(timeElapsed); // Update the time counter text if (foodCounter === 10) { background.attachAsset('background2', { anchorX: 0.5, anchorY: 0.5 }); LK.setTimeout(function () { background.attachAsset('background', { anchorX: 0.5, anchorY: 0.5 }); }, 5000); gameSpeed += 1; } if (foodCounter === 30) { background.attachAsset('background3', { anchorX: 0.5, anchorY: 0.5 }); hero.destroy(); hero = new Hero2(); hero.x = 1024; // Center horizontally hero.y = 2500; game.addChild(hero); for (var i = 0; i < obstacles.length; i++) { obstacles[i].destroy(); } obstacles = []; spawnObstacle = function spawnObstacle() { var randomValue = Math.random(); if (randomValue < 0.25) { var obstacle1e = new Obstacle1e(); obstacle1e.x = Math.random() * 2048; obstacle1e.y = -obstacle1e.height / 2; obstacles.push(obstacle1e); game.addChild(obstacle1e); } else if (randomValue < 0.5) { var food = new Food(); food.x = Math.random() * 2048; food.y = -food.height / 2; obstacles.push(food); game.addChild(food); } else if (randomValue < 0.75) { var obstacle2e = new Obstacle2e(); obstacle2e.x = Math.random() * 2048; obstacle2e.y = -obstacle2e.height / 2; obstacles.push(obstacle2e); game.addChild(obstacle2e); } else if (randomValue < 0.875) { var obstacle3e = new Obstacle3e(); obstacle3e.x = Math.random() * 2048; obstacle3e.y = -obstacle3e.height / 2; obstacles.push(obstacle3e); game.addChild(obstacle3e); } else { var food2m = new Food2m(); food2m.x = Math.random() * 2048; food2m.y = -food2m.height / 2; obstacles.push(food2m); game.addChild(food2m); } }; } if (foodCounter === 35) { background.attachAsset('background4', { anchorX: 0.5, anchorY: 0.5 }); LK.setTimeout(function () { background.attachAsset('background3', { anchorX: 0.5, anchorY: 0.5 }); }, 5000); } if (foodCounter === 60) { background.attachAsset('background6', { anchorX: 0.5, anchorY: 0.5 }); LK.setTimeout(function () { background.attachAsset('background5', { anchorX: 0.5, anchorY: 0.5 }); }, 5000); } else if (foodCounter === 65) { background.attachAsset('background7', { anchorX: 0.5, anchorY: 0.5 }); hero.destroy(); hero = new Hero4(); hero.x = 1024; // Center horizontally hero.y = 2500; game.addChild(hero); for (var i = 0; i < obstacles.length; i++) { obstacles[i].destroy(); } obstacles = []; spawnObstacle = function spawnObstacle() { var randomValue = Math.random(); if (randomValue < 0.25) { var obstacle1k = new Obstacle1k(); obstacle1k.x = Math.random() * 2048; obstacle1k.y = -obstacle1k.height / 2; obstacles.push(obstacle1k); game.addChild(obstacle1k); } else if (randomValue < 0.5) { var food = new Food(); food.x = Math.random() * 2048; food.y = -food.height / 2; obstacles.push(food); game.addChild(food); } else if (randomValue < 0.75) { var obstacle2k = new Obstacle2k(); obstacle2k.x = Math.random() * 2048; obstacle2k.y = -obstacle2k.height / 2; obstacles.push(obstacle2k); game.addChild(obstacle2k); } else if (randomValue < 0.875) { var obstacle3k = new Obstacle3k(); obstacle3k.x = Math.random() * 2048; obstacle3k.y = -obstacle3k.height / 2; obstacles.push(obstacle3k); game.addChild(obstacle3k); } else { var food2m = new Food2m(); food2m.x = Math.random() * 2048; food2m.y = -food2m.height / 2; obstacles.push(food2m); game.addChild(food2m); } }; background.attachAsset('background5', { anchorX: 0.5, anchorY: 0.5 }); hero.destroy(); hero = new Hero3(); hero.x = 1024; // Center horizontally hero.y = 2500; game.addChild(hero); for (var i = 0; i < obstacles.length; i++) { obstacles[i].destroy(); } obstacles = []; spawnObstacle = function spawnObstacle() { var randomValue = Math.random(); if (randomValue < 0.25) { var obstacle1g = new Obstacle1g(); obstacle1g.x = Math.random() * 2048; obstacle1g.y = -obstacle1g.height / 2; obstacles.push(obstacle1g); game.addChild(obstacle1g); } else if (randomValue < 0.5) { var food = new Food(); food.x = Math.random() * 2048; food.y = -food.height / 2; obstacles.push(food); game.addChild(food); } else if (randomValue < 0.75) { var obstacle2g = new Obstacle2g(); obstacle2g.x = Math.random() * 2048; obstacle2g.y = -obstacle2g.height / 2; obstacles.push(obstacle2g); game.addChild(obstacle2g); } else if (randomValue < 0.875) { var obstacle3g = new Obstacle3g(); obstacle3g.x = Math.random() * 2048; obstacle3g.y = -obstacle3g.height / 2; obstacles.push(obstacle3g); game.addChild(obstacle3g); } else { var food2m = new Food2m(); food2m.x = Math.random() * 2048; food2m.y = -food2m.height / 2; obstacles.push(food2m); game.addChild(food2m); } }; } } } // Spawn new obstacle if (LK.ticks % (180 / gameSpeed) == 0) { spawnObstacle(); } // Update score if (LK.ticks % 60 == 0) { updateScore(); } }; // Initialize game elements initHero(); initScore(); initTimeCounter(); // Set event listeners game.move = handleMove; game.down = handleDown; // Initialize time counter text function initTimeCounter() { timeTxt = new Text2(timeElapsed.toString(), { size: 150, fill: "#ffffff" }); timeTxt.anchor.set(1, 0); LK.gui.topRight.addChild(timeTxt); timeTxt.setText(timeElapsed); // Set initial time // Update time counter every second if (LK.ticks % 60 == 0) { updateTimeCounter(); } } // Update time counter function updateTimeCounter() { timeElapsed += 1; timeTxt.setText(timeElapsed); }
===================================================================
--- original.js
+++ change.js
@@ -494,9 +494,9 @@
});
}, 5000);
}
if (foodCounter === 60) {
- background.attachAsset('background4', {
+ background.attachAsset('background6', {
anchorX: 0.5,
anchorY: 0.5
});
LK.setTimeout(function () {
a caveman with a club, seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of an apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of a delicious meat. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A animated image of a stone boulder. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A animated image of a mommoth. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A animated image of a aggressive caveman with a club. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A road in a jungle with a cave nearby
An animated image of a wooden wheel with a sign: The invention of the wheel. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of a desert with a pyramid. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of an egyptian warrior. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of an aggressive egyptian warrior. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of a wooden arrow. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of a lion. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of an unfinished pyramid, with a label 'The building of the Pyramids of Giza. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of an ancient greek city with an Acropolis. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of an ancient greek warrior. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of an aggressive ancient greek warrior. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image of the colosseum. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image a medieval city with a castle. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image a medieval knight. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image an aggressive medieval knight. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An animated image a fierce wolf. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.