User prompt
display a string of 10 objects at the top of the screen.
User prompt
display a string of 10 characters at the top of the screen.
User prompt
display a string of 10 characters at the top of the screen.
User prompt
put symbol2 in the upper right corner of the screen, when the second red apple hits the player and player2 moves symbol1 to the left.
User prompt
display symbol1 in the upper right corner of the screen, the first time a red apple hits player and player2
User prompt
Fix Bug: 'ReferenceError: symbol1Displayed is not defined' in this line: 'if (!symbol1Displayed) {' Line Number: 102
User prompt
Fix Bug: 'ReferenceError: symbol1Displayed is not defined' in this line: 'if (!symbol1Displayed) {' Line Number: 102
User prompt
display symbol1 in the upper right corner of the screen, the first time a red apple hits player and player2
User prompt
display symbol1 in the upper right corner of the screen, the first time a red apple hits player and player2
User prompt
display symbol1, symbol2, symbol3, symbol4, symbol5, symbol6, symbol7, symbol8, symbol9, symbol10, one after another on the same line in the upper right corner of the screen.
User prompt
display symbol1, symbol2, symbol3, symbol4, symbol5, symbol6, symbol7, symbol8, symbol9, symbol10, one after another on the same line in the upper right corner of the screen.
User prompt
display symbol1, symbol2, symbol3, symbol4, symbol5, symbol6, symbol7, symbol8, symbol9, symbol10, one after another on the same line in the upper right corner of the screen.
User prompt
create create output in the upper right corner of the screen symbol1, symbol2, symbol3, symbol4, symbol5, symbol6, symbol7, symbol8, symbol9, symbol10,
User prompt
when the second red apple hits player and player2, move scoreObject to the left and add scoreObject2 in its place.
User prompt
Fix Bug: 'TypeError: game.getChildByName is not a function' in this line: 'var scoreObj = game.getChildByName('scoreObject');' Line Number: 236
User prompt
Fix Bug: 'TypeError: game.getChildByName is not a function' in this line: 'var scoreObj = game.getChildByName('scoreObject');' Line Number: 234
User prompt
scoreObject should be moved, not copied
User prompt
when the second red apple hits player and player2, move scoreObject to the left and add scoreObject2 in its place.
User prompt
when a red apple hits player and player2 for the second time, move object 1 to the left and add object 2 in its former place
User prompt
when a red apple hits player and player2 for the second time, move object 1 to the left and add object 2 in its former place
User prompt
Fix Bug: 'ReferenceError: scoreObj is not defined' in this line: 'object2.y = scoreObj.height / 2;' Line Number: 224
User prompt
place object 2 on the right side of the screen in line with object1.
User prompt
when player and player2 are hit for the second time by a red apple, add object 2 to the upper right corner of the screen
User prompt
when player and player2 are hit by a red apple, add object 1 to the upper right corner of the screen.
User prompt
after the end of health show the object "end" on the place of player and player2, hide player and player2
/**** * Classes ****/ var ScoreObject = Container.expand(function () { var self = Container.call(this); var scoreObjectGraphics = self.createAsset('scoreObject', 'Score object display', 1, 0); self.visible = false; }); // ScoreObject2 class var ScoreObject2 = Container.expand(function () { var self = Container.call(this); var scoreObject2Graphics = self.createAsset('scoreObject2', 'Score object display 2', 1, 0); self.visible = false; }); // EndGameItem class var EndGameItem = Container.expand(function () { var self = Container.call(this); var endGraphics = self.createAsset('end', 'End game object', 0.5, 1); self.visible = false; }); // Skull class var Skull = Container.expand(function () { var self = Container.call(this); var skullGraphics = self.createAsset('skull', 'Skull effect', 0.5, 0.5); skullGraphics.alpha = 1; self.animate = function () { LK.setTimeout(function () { self.destroy(); }, 500); }; }); // HealthMeter class var HealthMeter = Container.expand(function () { var self = Container.call(this); var meterGraphics = self.createAsset('healthMeter', 'Health meter display', 0, 0); self.decreaseHealth = function () { meterGraphics.width -= meterGraphics.width / 3; if (meterGraphics.width <= 0) { meterGraphics.width = 0; // Trigger game over or any other necessary action } }; }); // Explosion class var Explosion = Container.expand(function () { var self = Container.call(this); var explosionGraphics = self.createAsset('explosion', 'Explosion effect', 0.5, 0.5); explosionGraphics.alpha = 1; self.animate = function () { LK.setTimeout(function () { self.destroy(); }, 500); }; }); // Player class var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.createAsset('player', 'Player character', 0.5, 1); self.speed = 10; self.targetX = self.x; self.moveLeft = function () { if (self.x > self.targetX && self.x > playerGraphics.width / 2) { self.x -= self.speed; } }; self.moveRight = function () { if (self.x < self.targetX && self.x < 2048 - playerGraphics.width / 2) { self.x += self.speed; } }; }); // Player2 class var Player2 = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.createAsset('player2', 'Alternate player character', 0.5, 1); self.speed = 10; self.targetX = self.x; self.visible = false; self.moveLeft = function () { if (self.x > self.targetX && self.x > playerGraphics.width / 2) { self.x -= self.speed; } }; self.moveRight = function () { if (self.x < self.targetX && self.x < 2048 - playerGraphics.width / 2) { self.x += self.speed; } }; }); // Apple class var Apple = Container.expand(function () { var self = Container.call(this); var appleGraphics = self.createAsset('apple', 'Falling apple', 0.5, 0.5); self.speed = 6; self.move = function () { self.y += self.speed; }; self.isCaught = function (player) { var playerHeadY = player.y - player.height / 2; var appleBottomY = self.y + self.height / 2; if (self.intersects(player) && appleBottomY < playerHeadY) { var explosion = new Explosion(); explosion.x = self.x; explosion.y = self.y; game.addChild(explosion); explosion.animate(); var scoreObj = new ScoreObject(); scoreObj.x = 2048 - scoreObj.width / 2; scoreObj.y = scoreObj.height / 2; game.addChild(scoreObj); scoreObj.visible = true; return true; } return false; }; }); // GreenApple class var GreenApple = Container.expand(function () { var self = Container.call(this); var appleGraphics = self.createAsset('greenApple', 'Falling green apple', 0.5, 0.5); self.speed = 10; self.move = function () { self.y += self.speed; }; self.isCaught = function (player) { var playerHeadY = player.y - player.height / 2; var appleBottomY = self.y + self.height / 2; if (self.intersects(player) && appleBottomY < playerHeadY) { var skull = new Skull(); skull.x = self.x; skull.y = self.y; game.addChild(skull); skull.animate(); return true; } return false; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 // Init game with black background }); /**** * Game Code ****/ // Initialize second background var background2 = game.addChild(LK.getAsset('background2', 'Second background', 0, 0)); background2.width = 2048; background2.height = 2732; background2.x = 0; background2.y = 0; background2.anchor.set(0, 0); // Initialize backgrounds var background = game.addChild(LK.getAsset('background', 'Game background', 0, 0)); background.width = 2048; background.height = 2732; background.x = 0; background.y = 0; background.anchor.set(0, 0); // Initialize player var player = game.addChild(new Player()); player.x = 2048 / 2; player.y = 2732 - 50; // Positioned at the bottom of the screen // Initialize player2 var player2 = game.addChild(new Player2()); player2.x = 2048 / 2; player2.y = 2732 - 50; // Positioned at the bottom of the screen, same as player // Initialize health meters var healthMeters = []; for (var i = 0; i < 3; i++) { var healthMeter = game.addChild(new HealthMeter()); healthMeter.x = i * 70; // Assuming each health meter is 64 pixels wide plus some padding healthMeter.y = 10; healthMeters.push(healthMeter); } // Initialize apples array var apples = []; // Handle touch movement function handleTouchMove(obj) { var touchPos = obj.event.getLocalPosition(game); player.targetX = touchPos.x; player2.targetX = touchPos.x; } // Attach touch move event to the game game.on('move', handleTouchMove); // Game tick event LK.on('tick', function () { // Move player towards targetX and control visibility of player and player2 // Only move if the targetX is not directly on the player if (Math.abs(player.x - player.targetX) > player.width / 2) { if (player.x < player.targetX) { player.moveRight(); player2.moveRight(); player.visible = false; player2.visible = true; } else if (player.x > player.targetX) { player.moveLeft(); player2.moveLeft(); player.visible = true; player2.visible = false; } } // Move apples for (var i = apples.length - 1; i >= 0; i--) { apples[i].move(); // Check if apple is caught by the player or player2 depending on their visibility if (player.visible && apples[i] instanceof Apple && apples[i].isCaught(player) || player2.visible && apples[i] instanceof Apple && apples[i].isCaught(player2)) { // Increase score LK.setScore(LK.getScore() + 1); // Move scoreObject to the left and add scoreObject2 in its place if (LK.getScore() === 2) { var scoreObj = game.children.find(function (child) { return child.name === 'scoreObject'; }); if (scoreObj) { scoreObj.x = 2048 - scoreObj.width * 1.5; } var scoreObj2 = new ScoreObject2(); scoreObj2.x = 2048 - scoreObj2.width / 2; scoreObj2.y = scoreObj2.height / 2; game.addChild(scoreObj2); scoreObj2.visible = true; } else { var scoreObj = game.getChildByName('scoreObject'); if (!scoreObj) { scoreObj = new ScoreObject(); scoreObj.name = 'scoreObject'; scoreObj.x = 2048 - scoreObj.width / 2; scoreObj.y = scoreObj.height / 2; game.addChild(scoreObj); } scoreObj.visible = true; } // Remove caught apple apples[i].destroy(); apples.splice(i, 1); } else if (player.visible && apples[i] instanceof GreenApple && apples[i].isCaught(player) || player2.visible && apples[i] instanceof GreenApple && apples[i].isCaught(player2)) { // Decrease health and check for game over if (healthMeters.length > 0) { var lastHealthMeter = healthMeters.pop(); lastHealthMeter.destroy(); if (healthMeters.length === 0) { // Trigger game over with golden effect LK.effects.flashScreen(0xFFFF00, 1000); var endGameItem = game.addChild(new EndGameItem()); endGameItem.x = player.x; endGameItem.y = player.y; endGameItem.visible = true; player.visible = false; player2.visible = false; LK.showGameOver(); } } // Remove caught green apple apples[i].destroy(); apples.splice(i, 1); } else if (apples[i].y > 2732) { // Remove apple if it falls off the screen apples[i].destroy(); apples.splice(i, 1); } } // Spawn apples less frequently if (LK.ticks % 120 == 0) { // Every two seconds var appleType = Math.random() < 0.25 ? new Apple() : new GreenApple(); // 25% chance for red apple, 75% for green apple var newApple = appleType; newApple.x = Math.random() * 2048; newApple.y = 2732 / 2; // Start at the middle of the screen in height apples.push(newApple); game.addChild(newApple); } });
===================================================================
--- original.js
+++ change.js
@@ -218,9 +218,11 @@
// Increase score
LK.setScore(LK.getScore() + 1);
// Move scoreObject to the left and add scoreObject2 in its place
if (LK.getScore() === 2) {
- var scoreObj = game.getChildByName('scoreObject');
+ var scoreObj = game.children.find(function (child) {
+ return child.name === 'scoreObject';
+ });
if (scoreObj) {
scoreObj.x = 2048 - scoreObj.width * 1.5;
}
var scoreObj2 = new ScoreObject2();
grass
the fields of Britain, cartoon style. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
green apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
red apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
eureka moment, cartoon style, light, no people. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
heart. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
stars flying on an ellipse, cartoon style, side view , no people. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white "=" on a green apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a white "F" on a red apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
the "G" sign on the red apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white " (M" on a red apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a white sign with a small "m" on a red apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white " /" on a green apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a white "R" on a red apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
green
a white " 2" on a red apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.