User prompt
Remove the fish from the game
User prompt
Do not let the fish to go above the penguin
User prompt
Allow the player to catch fish and add five points
User prompt
Let the game happen underwater
User prompt
Let the game end when penguin hits an obstacle or the player reaches 500
User prompt
Add the fish to the game and allow the penguins to catch them
User prompt
Animate the ocean
User prompt
Let the fish appear from the ocean
User prompt
Add the ocean
User prompt
Let the ocean be the background
User prompt
Add pingos to the game and allow the penguin to rest there
User prompt
Add pingos to be another obstacle that moves slowly
Code edit (2 edits merged)
Please save this source code
User prompt
Put water on the background
User prompt
Instead of blue background make it an ocean
User prompt
Play cool sounds once a penguin captures a fish
User prompt
Let the game elements move from left to right
User prompt
Make the coins to jump
User prompt
Make the fish jump up and down at random heights
User prompt
Add more coins moving from left to right
Code edit (1 edits merged)
Please save this source code
User prompt
Make the background 💙
User prompt
Let it end when it reaches 200 points
User prompt
Change the color of the background once the player hits 50 points
/**** * Classes ****/ // Coin class representing coins for the penguin to pick var Coin = Container.expand(function () { var self = Container.call(this); var coinGraphics = self.attachAsset('coin', { anchorX: 0.5, anchorY: 0.5 }); self.speed = -5; self.value = 10; self.update = function () { self.x += self.speed; self.y += Math.sin(self.x / 100) * 10; // Add a sine wave movement to the y position if (self.x < -100) { self.destroy(); } }; }); // HighCoin class representing higher coins for the penguin to pick var HighCoin = Coin.expand(function () { var self = Coin.call(this); if (self) { self.value = 5; } }); // Level2Obstacle class representing level 2 obstacles on the path var Level2Obstacle = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = self.attachAsset('obstacle', { anchorX: 0.5, anchorY: 0.5 }); self.speed = -7; // Increase speed for level 2 self.update = function () { self.x += self.speed; if (self.x < -100) { self.destroy(); } }; }); // Obstacle class representing obstacles on the path var Obstacle = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = self.attachAsset('obstacle', { anchorX: 0.5, anchorY: 0.5 }); self.speed = -5; self.update = function () { self.x += self.speed; if (self.x < -100) { self.destroy(); } }; }); //<Assets used in the game will automatically appear here> // Penguin class representing the player character var Penguin = Container.expand(function () { var self = Container.call(this); var penguinGraphics = self.attachAsset('penguin', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.jumpHeight = 55; self.isJumping = false; self.update = function () { if (self.isJumping) { self.y -= self.speed; if (self.y <= self.jumpHeight) { self.isJumping = false; self.jumpHeight = Math.random() * 200; // Randomize jump height between 0 and 200 } } else if (self.y < 2732 / 2) { self.y += self.speed; } }; self.jump = function () { if (!self.isJumping) { self.isJumping = true; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000080 // Set the background color to navy blue to represent underwater }); /**** * Game Code ****/ // Add the ocean as the background var ocean = game.addChild(LK.getAsset('Ocean', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 })); // Set initial ocean wave direction ocean.waveDirection = 1; // Initialize game variables var penguin = game.addChild(new Penguin()); penguin.x = 2048 / 2; penguin.y = 2732 / 2; var obstacles = []; var coins = []; var score = 0; var scoreTxt = new Text2('0', { size: 100, fill: "#ffffff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); var alternate = false; // Function to handle game updates game.update = function () { // Animate the ocean to give the illusion of underwater waves ocean.y += ocean.waveDirection; if (ocean.y > 2732 / 2 + 5 || ocean.y < 2732 / 2 - 5) { ocean.waveDirection *= -1; } penguin.update(); for (var i = obstacles.length - 1; i >= 0; i--) { obstacles[i].update(); if (penguin.intersects(obstacles[i])) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } } if (LK.ticks % 60 == 0) { var newObstacle = new Obstacle(); newObstacle.x = 2048; newObstacle.y = alternate ? 2732 / 3 : 2732 / 2; obstacles.push(newObstacle); game.addChild(newObstacle); alternate = !alternate; } // Add level 2 obstacles every 90 ticks if (LK.ticks % 90 == 0) { var newLevel2Obstacle = new Level2Obstacle(); newLevel2Obstacle.x = 2048; newLevel2Obstacle.y = alternate ? 2732 / 2 : 2732 / 3; obstacles.push(newLevel2Obstacle); game.addChild(newLevel2Obstacle); } // Add coins every 90 ticks if (LK.ticks % 90 == 0) { var newCoin = alternate ? new HighCoin() : new Coin(); newCoin.x = 2048; newCoin.y = alternate ? 2732 / 3 : 2732 / 2; // Position coins near the pingos coins.push(newCoin); game.addChild(newCoin); } // Update the score when the penguin picks a coin for (var i = coins.length - 1; i >= 0; i--) { if (penguin.intersects(coins[i])) { score += coins[i].value; coins[i].destroy(); coins.splice(i, 1); } } scoreTxt.setText(score); }; // Event listener for touch down to make the penguin jump game.down = function (x, y, obj) { penguin.jump(); }; // Change the color of the background once the player hits 50 points if (score >= 50) { game.setBackgroundColor(0x00FFFF); // Change the background color to blue } // Increase the speed of the obstacles and the coins once the user collects points worth 100 points if (score >= 100) { for (var i = 0; i < obstacles.length; i++) { obstacles[i].speed += 2; } for (var i = 0; i < coins.length; i++) { coins[i].speed += 2; } } // End the game when the player reaches 500 points if (score >= 500) { LK.showGameOver(); }
===================================================================
--- original.js
+++ change.js
@@ -24,28 +24,8 @@
if (self) {
self.value = 5;
}
});
-// Fish class representing fish for the penguin to catch
-var Fish = Container.expand(function () {
- var self = Container.call(this);
- var fishGraphics = self.attachAsset('fish', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = -5;
- self.value = 20;
- self.update = function () {
- self.x += self.speed;
- // Prevent the fish from going above the penguin
- if (self.y > penguin.y) {
- self.y += Math.sin(self.x / 100) * 10; // Add a sine wave movement to the y position
- }
- if (self.x < -100) {
- self.destroy();
- }
- };
-});
// Level2Obstacle class representing level 2 obstacles on the path
var Level2Obstacle = Container.expand(function () {
var self = Container.call(this);
var obstacleGraphics = self.attachAsset('obstacle', {
@@ -175,35 +155,16 @@
newCoin.y = alternate ? 2732 / 3 : 2732 / 2; // Position coins near the pingos
coins.push(newCoin);
game.addChild(newCoin);
}
- // Initialize fish array
- var fish = [];
- // Add fish every 120 ticks
- if (LK.ticks % 120 == 0) {
- var newFish = new Fish();
- newFish.x = 2048;
- newFish.y = Math.random() * 2732; // Position fish at random y positions
- fish.push(newFish);
- game.addChild(newFish);
- }
- // Update the score when the penguin picks a coin or catches a fish
+ // Update the score when the penguin picks a coin
for (var i = coins.length - 1; i >= 0; i--) {
if (penguin.intersects(coins[i])) {
score += coins[i].value;
coins[i].destroy();
coins.splice(i, 1);
}
}
- for (var i = fish.length - 1; i >= 0; i--) {
- if (penguin.intersects(fish[i])) {
- score += fish[i].value * 5; // Multiply the fish value by 5 when adding to the score
- fish[i].destroy();
- fish.splice(i, 1);
- // Play cool sound when penguin captures a fish
- LK.getSound('Cool').play();
- }
- }
scoreTxt.setText(score);
};
// Event listener for touch down to make the penguin jump
game.down = function (x, y, obj) {