Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
if the player hits the bonusUnhealthyFood, then make sure to scale the player if the score is over the factor of 5
User prompt
if the player hits a bonusUnhealthyFood, then the score increases by 3
User prompt
the bonusUnhealthyFood is spawned between the x position 50 and game canvas width - 100
User prompt
the bonusfood is spawned after a random amount of seconds, but before the cloud2 has left the view
User prompt
there is a 80% chance that cloud2 drops a bonusUnhealthyFood asset, which behaves the same as the unhealthyFood, but is 200% bigger
User prompt
either spawn a cloud or a cloud2, but not at the same time
Code edit (1 edits merged)
Please save this source code
User prompt
create another type of cloud entity
User prompt
if the player scales, make sure to adapt the y position of the player
User prompt
if the player scales, make sure the y position stays the same
User prompt
change the max player scale to 300%
Code edit (1 edits merged)
Please save this source code
User prompt
when the enemy changes its position randomly, make sure it does not intersect with the player
User prompt
scale the initial player sizte to 130%
User prompt
if the player hits a healthyfood and the player has scaled before, then scale down by 30%
User prompt
if the player hits the duck, scale the duck by 300%
User prompt
if the score hits 10, create a new enemey
User prompt
the enemy random x position can not be the players current position
User prompt
the enemy does not change its position to the players one
/**** * Classes ****/ // BonusUnhealthyFood class var BonusUnhealthyFood = Container.expand(function () { var self = Container.call(this); var foodGraphics = self.attachAsset('unhealthyFood', { anchorX: 0.5, anchorY: 0.5 }); self.scale.x *= 2; // Scale to 200% self.scale.y *= 2; // Scale to 200% self.type = 'unhealthyFood'; self.speed = Math.random() * 5 + 1; // Random speed between 1 and 6 self.move = function () { self.y += self.speed; }; }); // Cloud class var Cloud = Container.expand(function () { var self = Container.call(this); var cloudGraphics = self.attachAsset('cloud', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 2; self.move = function () { self.x -= self.speed; }; }); // Cloud2 class var Cloud2 = Container.expand(function () { var self = Container.call(this); var cloudGraphics = self.attachAsset('cloud2', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.move = function () { self.x -= self.speed; }; }); // Enemy class var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Enemy update logic here }; }); // Food class var Food = Container.expand(function (type) { var self = Container.call(this); var foodGraphics = self.attachAsset(type, { anchorX: 0.5, anchorY: 0.5 }); self.type = type; self.speed = Math.random() * 5 + 1; // Random speed between 1 and 6 self.move = function () { self.y += self.speed; }; }); // Assets will be automatically created based on usage in the code. // Player class var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Player update logic here }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Light blue background }); /**** * Game Code ****/ var background = game.addChild(LK.getAsset('background', { anchorX: 0.0, anchorY: 0.0, x: 0, y: 0 })); var player = game.addChild(new Player()); player.x = 1024; // Center horizontally player.y = 2500; // Near the bottom player.scale.x *= 1.30; player.scale.y *= 1.30; var enemy = game.addChild(new Enemy()); enemy.y = player.y; // Same y position as the player var foods = []; var score = 0; var scoreTxt = new Text2(score.toString(), { size: 150, fill: "#ffffff" }); LK.gui.top.addChild(scoreTxt); // Create food items at intervals var cloudCreationTimer = LK.setInterval(function () { if (Math.random() > 0.5) { var cloud = new Cloud(); cloud.x = 2048; // Start from the right cloud.y = Math.random() * 500; // Random position at the top game.addChild(cloud); } else { var cloud2 = new Cloud2(); cloud2.x = 2048; // Start from the right cloud2.y = Math.random() * 500; // Random position at the top game.addChild(cloud2); // 80% chance to spawn a bonusUnhealthyFood if (Math.random() < 0.8) { var bonusFood = new BonusUnhealthyFood(); bonusFood.x = Math.random() * (2048 - 150) + 50; // Random position between 50 and game canvas width - 100 bonusFood.y = cloud2.y; // Same y position as the cloud2 foods.push(bonusFood); game.addChild(bonusFood); } } }, 5000); var foodCreationTimer = LK.setInterval(function () { var foodType = Math.random() > 0.5 ? 'healthyFood' : 'unhealthyFood'; var food = new Food(foodType); food.x = Math.random() * 2048; // Random position across the width food.y = 0; // Start from the top foods.push(food); game.addChild(food); }, 2000); // Touch event to move player game.on('down', function (obj) { var pos = obj.event.getLocalPosition(game); player.x = pos.x; }); // Game tick LK.on('tick', function () { if (score === -1 || player.intersects(enemy)) { LK.showGameOver(); } player.update(); enemy.update(); // Change enemy's x position randomly if (LK.ticks % 60 == 0) { // Every second do { enemy.x = Math.random() * 2048; // Random position across the width } while (enemy.intersects(player)); // Ensure enemy's x position is not the same as player's x position and does not intersect with the player } game.children.forEach(function (child) { if (child instanceof Cloud || child instanceof Cloud2) { child.move(); if (child.x < -200) { // Off screen child.destroy(); } } }); for (var i = foods.length - 1; i >= 0; i--) { foods[i].move(); if (foods[i].y > 2732) { // Off screen if (foods[i].type === 'unhealthyFood') { score -= 1; scoreTxt.setText(score.toString()); } foods[i].destroy(); foods.splice(i, 1); } else if (player.intersects(foods[i])) { if (foods[i] instanceof BonusUnhealthyFood) { score += 1; if (player.scale.x < 3 && player.scale.y < 3) { player.scale.x *= 1.20; player.scale.y *= 1.20; player.y -= player.height * 0.1; // Adjust the y position of the player when the player scales } } else if (foods[i].type === 'unhealthyFood') { score += 1; if (score % 5 == 0) { if (player.scale.x < 3 && player.scale.y < 3) { player.scale.x *= 1.30; player.scale.y *= 1.30; player.y -= player.height * 0.15; // Adjust the y position of the player when the player scales } } } else if (foods[i].type === 'unhealthyFood') { score += 1; if (score % 5 == 0) { if (player.scale.x < 3 && player.scale.y < 3) { player.scale.x *= 1.30; player.scale.y *= 1.30; player.y -= player.height * 0.15; // Adjust the y position of the player when the player scales } } } else { score -= 1; if (player.scale.x > 1 && player.scale.y > 1) { player.scale.x /= 1.30; player.scale.y /= 1.30; player.y += player.height * 0.15; // Adjust the y position of the player when the player scales down } } scoreTxt.setText(score.toString()); foods[i].destroy(); foods.splice(i, 1); } } }); // Ensure the score is updated in the game scoreTxt.setText(LK.getScore().toString());
===================================================================
--- original.js
+++ change.js
@@ -176,14 +176,13 @@
foods[i].destroy();
foods.splice(i, 1);
} else if (player.intersects(foods[i])) {
if (foods[i] instanceof BonusUnhealthyFood) {
- var newScore = score + 3;
- score += 3;
+ score += 1;
if (player.scale.x < 3 && player.scale.y < 3) {
- player.scale.x *= 1.30;
- player.scale.y *= 1.30;
- player.y -= player.height * 0.15; // Adjust the y position of the player when the player scales
+ player.scale.x *= 1.20;
+ player.scale.y *= 1.20;
+ player.y -= player.height * 0.1; // Adjust the y position of the player when the player scales
}
} else if (foods[i].type === 'unhealthyFood') {
score += 1;
if (score % 5 == 0) {
broccoli. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. 8bit
fat boy. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. 8bit. no background.
burger. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. 8bit. no background.
city with skyscrapers with a big street at the bottom. in-Game background asset. 2d. High contrast. No shadows. 8bit.
an evil rubber duck. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. 8bit
an evil broccoli airship. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. 8bit
an evil burger airship. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. 8bit