User prompt
bgmusic ses dosyasını arkaplan müziği olarak kullan. devamlı döngüde çalsın
Code edit (1 edits merged)
Please save this source code
User prompt
bir yüksek skor değişkeni tanımla. money değeri her arttığında yüksek skoru da aynı değerde arttır. oyun bittiğinde yüksek skoru ekranda göster.
Code edit (1 edits merged)
Please save this source code
User prompt
bir yüksek skor değişkeni tanımla. money değeri her arttığında yüksek skoru da money kadar arttır. oyun bittiğinde yüksek skoru göster.
User prompt
money başlangıç değerini 0 yap
User prompt
ant nesnesinin ilk spawn süresini yarı yarıya indir
Code edit (1 edits merged)
Please save this source code
User prompt
ant nesnesini antNames dizisinden random bir şekilde seçilmiş değeri al. o değerdeki nesneyi antGraphics nesnesine ata.
Code edit (2 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: antGraphics is not defined' in or related to this line: 'if (antGraphics.scale.x === 1) {' Line Number: 78
Code edit (1 edits merged)
Please save this source code
User prompt
power değeri her değiştiğinde; ant nesnesini antNames dizisinden random bir şekilde seçilmiş değeri al. o değerdeki nesneyi antGraphics nesnesine ata.
User prompt
power değeri her değiştiğinde; ant nesnesini antNames dizisinden random bir şekilde seçilmiş değeri al. o değerdeki nesneyi bir sonraki spawn olacak ant nesnesine ata.
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Uncaught ReferenceError: ant is not defined' in or related to this line: 'ant.updateAntGraphics();' Line Number: 290
Code edit (1 edits merged)
Please save this source code
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Default revenue value var Ant = Container.expand(function () { var self = Container.call(this); var randomAntName = antNames[Math.floor(Math.random() * antNames.length)]; var antGraphics = self.attachAsset(randomAntName, { anchorX: 0.5, anchorY: 0.5 }); self.speed = speed; self.power = power; //self.wait = wait; self.returning = false; // State variable to track whether the ant is returning to the hole or not self.soundPlayed = false; // Flag to track if the bite sound has been played self.revenue = revenue; self.update = function () { var targetX, targetY; // If the ant is returning, set the target to the hole if (self.returning) { targetX = hole.x; targetY = hole.y + 250; } else { // Otherwise, set the target to the food targetX = food.x; targetY = food.y; } // Calculate the direction vector towards the target var directionX = targetX - self.x; var directionY = targetY - self.y; var magnitude = Math.sqrt(directionX * directionX + directionY * directionY); directionX /= magnitude; directionY /= magnitude; // Move the ant towards the target self.x += directionX * self.speed; self.y += directionY * self.speed; // Animate the ant to grow and shrink every half second if (LK.ticks % 20 === 0 && !self.returning) { // 30 ticks is approximately half a second at 60 FPS if (antGraphics.scale.x === 1) { antGraphics.scale.set(1.1); // Grow } else { antGraphics.scale.set(1); // Shrink back to normal } } // If the ant intersects with the food and is not returning, stop the ant and start waiting if (self.intersects(food) && !self.returning) { self.speed = 0; // Animate the ant to grow and shrink every half second if (LK.ticks % 20 === 0) { // 30 ticks is approximately half a second at 60 FPS if (antGraphics.scale.x === 1) { antGraphics.scale.set(1.1); // Grow } else { antGraphics.scale.set(1); // Shrink back to normal } } // Play the bite sound only if it hasn't been played for this ant if (!self.soundPlayed) { LK.getSound('bitesound').play(); self.soundPlayed = true; // Set the flag to true after playing the sound } // Attach bait to the ant if (!self.bait) { self.bait = self.addChild(new Bait()); self.bait.x = 0; // Center the bait on the ant self.bait.y = 0; } // Decrease the size of the food object by 5px food.scale.x -= self.power; food.scale.y -= self.power; LK.setTimeout(function () { // After waiting, start returning to the hole self.returning = true; self.speed = speed; // Set the speed to its default value // Animate the ant to grow and shrink every half second if (LK.ticks % 20 === 0) { // 30 ticks is approximately half a second at 60 FPS if (antGraphics.scale.x === 1) { antGraphics.scale.set(1.1); // Grow } else { antGraphics.scale.set(1); // Shrink back to normal } } // Flip the ant image vertically antGraphics.scale.y = -1; }, spawn * 1000); } // If the ant is returning and intersects with the hole, destroy the ant and increase the 'money' value if (self.returning && self.intersects(hole)) { if (self.bait) { tween(self.bait, { alpha: 0 }, { duration: 2500 / speed, onFinish: function onFinish() { self.bait.destroy(); } }); // Fade out bait } tween(self, { alpha: 0 }, { duration: 2500 / speed, onFinish: function onFinish() { self.destroy(); } }); // Fade out ant if (!self.revenueAdded) { money += self.revenue; LK.setScore(LK.getScore() + self.revenue); self.revenueAdded = true; // Set the flag to true after adding revenue LK.getSound('moneysound').play(); // Play moneysound once when the ant is destroyed } } }; }); var Bait = Container.expand(function () { var self = Container.call(this); var baitGraphics = self.attachAsset('bait', { anchorX: 0.5, anchorY: 0.5 }); }); var Food = Container.expand(function () { var self = Container.call(this); var foodGraphics = self.attachAsset('food', { anchorX: 0.5, anchorY: 0.5 }); }); var Hole = Container.expand(function () { var self = Container.call(this); var holeGraphics = self.attachAsset('hole', { anchorX: 0.5, anchorY: 0.5 }); }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEFA }); /**** * Game Code ****/ var antNames = ["ant1", "ant2", "ant3", "ant4"]; // Play background music in a continuous loop LK.playMusic('bgmusic', { loop: true }); var workerText = new Text2('+Worker', { size: 40, fill: 0x000000, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); var speed = 5; // Default speed value var power = 0.0001; // Default power value var wait = 5; // Default wait value var revenue = 1; var money = 0; var speedcost = 5; var powercost = 10; var workercost = 15; var level = 1; var spawn = Math.floor(Math.random() * 3) + 1; var backgroundColors = [0xc4ecac, 0xC0C4B6, 0xEADFDB, 0xD8C2B5, 0xF2CFB3, 0x87CEFA, 0xc4ecac, 0xC0C4B6, 0xEADFDB, 0xD8C2B5, 0xF2CFB3]; var moneyText = new Text2('$' + money, { size: 140, fill: 0x008000, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); workerText.anchor.set(0.5, 0); workerText.x = 350; workerText.y = 1440; LK.gui.top.addChild(workerText); var powerText = new Text2('Power', { size: 40, fill: 0x000000, // Black color font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); powerText.anchor.set(0.5, 0); powerText.x = 0; powerText.y = 1440; LK.gui.top.addChild(powerText); var speedText = new Text2('Speed', { size: 40, fill: 0x000000, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); speedText.anchor.set(0.5, 0); speedText.x = -350; speedText.y = 1440; LK.gui.top.addChild(speedText); var workerText = new Text2('+Worker', { size: 40, fill: 0x000000, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); moneyText.anchor.set(0.5, 0); moneyText.y += 100; LK.gui.top.addChild(moneyText); //<Write imports for supported plugins here> ; var food = game.addChild(new Food()); food.x = 2048 / 2; food.y = 2732 / 4; var hole = game.addChild(new Hole()); hole.x = food.x; hole.y = food.y + 1100; var sb = game.addChild(LK.getAsset('sb', { anchorX: 0.5, anchorY: 0.5 })); sb.x = 2048 / 4; sb.y = 2732 - sb.height / 2 - 200; sb.down = function (x, y, obj) { if (money >= speedcost) { LK.getSound('upgradesound').play(); speed += 3; money -= speedcost; speedcost += Math.ceil(speedcost / 100 * 130); tween(sb.scale, { x: 1.1, y: 1.1 }, { duration: 200, easing: tween.easeOut, onFinish: function onFinish() { tween(sb.scale, { x: 1, y: 1 }, { duration: 200, easing: tween.easeIn }); } }); } }; var pb = game.addChild(LK.getAsset('pb', { anchorX: 0.5, anchorY: 0.5 })); pb.x = 2048 / 2; pb.y = 2732 - pb.height / 2 - 200; pb.down = function (x, y, obj) { if (money >= powercost) { LK.getSound('upgradesound').play(); power += 0.0001; money -= powercost; powercost += Math.ceil(powercost / 100 * 160); revenue += 1; tween(pb.scale, { x: 1.1, y: 1.1 }, { duration: 200, easing: tween.easeOut, onFinish: function onFinish() { tween(pb.scale, { x: 1, y: 1 }, { duration: 200, easing: tween.easeIn }); } }); } }; var ab = game.addChild(LK.getAsset('ab', { anchorX: 0.5, anchorY: 0.5 })); ab.x = 1550; ab.y = 2732 - ab.height / 2 - 200; ab.down = function (x, y, obj) { if (money >= workercost) { LK.getSound('upgradesound').play(); money -= workercost; workercost += Math.ceil(workercost / 100 * 190); if (wait != 1) { wait -= 1; } tween(ab.scale, { x: 1.1, y: 1.1 }, { duration: 200, easing: tween.easeOut, onFinish: function onFinish() { tween(ab.scale, { x: 1, y: 1 }, { duration: 200, easing: tween.easeIn }); } }); LK.setInterval(function () { var ant = game.addChild(new Ant()); // Randomize the x position of the ant within the width of the hole ant.x = hole.x + Math.random() * hole.width - hole.width / 2; ant.y = hole.y; }, wait * 1000); } }; LK.setInterval(function () { var ant = game.addChild(new Ant()); // Randomize the x position of the ant within the width of the hole ant.x = hole.x + Math.random() * hole.width - hole.width / 2; ant.y = hole.y; }, wait * 1000); var speedcostText = new Text2('$' + speedcost, { size: 80, fill: 0x008000, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); speedcostText.anchor.set(0.5, 0); speedcostText.x = -350; speedcostText.y = 1780; LK.gui.top.addChild(speedcostText); var powercostText = new Text2('$' + powercost, { size: 80, fill: 0x008000, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); powercostText.anchor.set(0.5, 0); powercostText.x = 0; powercostText.y = 1780; LK.gui.top.addChild(powercostText); var levelText = new Text2('Level-' + level, { size: 70, fill: 0x5861a0, // Green font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); var workercostText = new Text2('$' + workercost, { size: 80, fill: 0x008000, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); workercostText.anchor.set(0.5, 0); workercostText.x = 350; workercostText.y = 1780; LK.gui.top.addChild(workercostText); levelText.anchor.set(0.5, 0); levelText.x += 550; levelText.y += 50; LK.gui.top.addChild(levelText); game.update = function () { moneyText.setText('$' + money); if (moneyText.lastMoney === undefined) { moneyText.lastMoney = money; } if (money > moneyText.lastMoney) { tween(moneyText.scale, { x: 1.2, y: 1.2 }, { duration: 200, easing: tween.easeOut, onFinish: function onFinish() { tween(moneyText.scale, { x: 1, y: 1 }, { duration: 200, easing: tween.easeIn }); } }); } moneyText.lastMoney = money; speedcostText.setText('$' + speedcost); powercostText.setText('$' + powercost); workercostText.setText('$' + workercost); if (money < speedcost) { sb.tint = 0x808080; // Dark gray sb.soundPlayed = false; } else { sb.tint = 0xFFFFFF; // Reset to original color if (!sb.soundPlayed) { LK.getSound('activesound').play(); sb.soundPlayed = true; } } if (money < powercost) { pb.tint = 0x808080; // Dark gray pb.soundPlayed = false; } else { pb.tint = 0xFFFFFF; // Reset to original color if (!pb.soundPlayed) { LK.getSound('activesound').play(); pb.soundPlayed = true; } } if (money < workercost) { ab.tint = 0x808080; // Dark gray ab.soundPlayed = false; } else { ab.tint = 0xFFFFFF; // Reset to original color if (!ab.soundPlayed) { LK.getSound('activesound').play(); ab.soundPlayed = true; } } if (food.scale.x <= 0 || food.scale.y <= 0) { level += 1; LK.getSound('nextlevelsound').play(); // Play nextlevelsound once when the level increases if (level === 11) { //LK.showYouWin(); LK.showYouWin("Total Money $".concat(LK.getScore(), "!")); return; } levelText.setText('Level-' + level); game.setBackgroundColor(backgroundColors[(level - 1) % backgroundColors.length]); food.destroy(); food = game.addChild(LK.getAsset('food' + level, { anchorX: 0.5, anchorY: 0.5 })); food.x = 2048 / 2; food.y = 2732 / 4; // Destroy all ant instances game.children.forEach(function (child) { if (child instanceof Ant) { child.destroy(); } }); } }; ;
===================================================================
--- original.js
+++ change.js
@@ -153,8 +153,12 @@
/****
* Game Code
****/
var antNames = ["ant1", "ant2", "ant3", "ant4"];
+// Play background music in a continuous loop
+LK.playMusic('bgmusic', {
+ loop: true
+});
var workerText = new Text2('+Worker', {
size: 40,
fill: 0x000000,
font: "'GillSans-Bold',Impact,'Arial Black',Tahoma"
@@ -416,9 +420,10 @@
if (food.scale.x <= 0 || food.scale.y <= 0) {
level += 1;
LK.getSound('nextlevelsound').play(); // Play nextlevelsound once when the level increases
if (level === 11) {
- LK.showYouWin();
+ //LK.showYouWin();
+ LK.showYouWin("Total Money $".concat(LK.getScore(), "!"));
return;
}
levelText.setText('Level-' + level);
game.setBackgroundColor(backgroundColors[(level - 1) % backgroundColors.length]);
donut cartoon 2d, blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
hole cartoon 2d, blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Cartoon Pizza, 2d, blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
strong button, cartoon, blank background, 2d. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
speed button, 2d, cartoon, blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
hamburger,2d,cartoon,blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
topdown 2d ant, blank background, no shadows. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
red apple,cartoon,2d,blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
dollar,cartoon,2d,blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
watermelon,cartoon,2d,blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
candy,cartoon,2d,blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
strawberry,cartoon,2d,blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
honey,cartoon,2d,blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
bread,cartoon,2d,blank background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
hafif taşlı zemin. üstten görünüm. cartoon