User prompt
power değeri her değiştiğinde; ant nesnesini antNames dizisinden random bir şekilde seçilmiş değeri alarak o değerdeki nesneyi ant nesnesine ata.
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 alarak o değerdeki nesneyi oluştur
Code edit (1 edits merged)
Please save this source code
User prompt
string bir dizi oluştur. ant1-ant4 dahil isimlendir
User prompt
Please fix the bug: 'Timeout.tick error: Cannot read properties of undefined (reading 'length')' in or related to this line: 'var antGraphics = self.attachAsset(antNames[Math.min(Math.floor(self.power * 10000), antNames.length - 1)], {' Line Number: 38
User prompt
Please fix the bug: 'Timeout.tick error: Cannot read properties of undefined (reading 'length')' in or related to this line: 'var antGraphics = self.attachAsset(antNames[Math.min(Math.floor(self.power * 10000), antNames.length - 1)], {' Line Number: 38
User prompt
Please fix the bug: 'Timeout.tick error: Cannot read properties of undefined (reading 'length')' in or related to this line: 'var antGraphics = self.attachAsset(antNames[Math.min(Math.floor(self.power * 10000), antNames.length - 1)], {' Line Number: 38
User prompt
Please fix the bug: 'Timeout.tick error: Cannot read properties of undefined (reading 'length')' in or related to this line: 'var antGraphics = self.attachAsset(antNames[Math.min(Math.floor(self.power * 10000), antNames.length - 1)], {' Line Number: 39
User prompt
Please fix the bug: 'Timeout.tick error: Cannot read properties of undefined (reading 'length')' in or related to this line: 'var antGraphics = self.attachAsset(antNames[Math.min(Math.floor(self.power * 10000), antNames.length - 1)], {' Line Number: 38
User prompt
power değeri arttıkça Ant nesnesinin nesne adını antnames dizisinde sıradaki string ile eşleştir
User prompt
string bir dizi oluştur. ant1-ant10 dahil isimlendir
User prompt
Please fix the bug: 'Timeout.tick error: ant is not defined' in or related to this line: 'ant.x = hole.x + Math.random() * hole.width - hole.width / 2;' Line Number: 345
User prompt
ant1-ant10 dahil bir nesne dizisi oluştur.
Code edit (7 edits merged)
Please save this source code
User prompt
power değeri değiştiğinde ant nesnesi yerine ant1 nesnesini kullan
Code edit (1 edits merged)
Please save this source code
User prompt
sb,pb ve ab ye her bastığımda nesneler biraz büyüyüp tekrar eski haline gelsin. büyüyüp küçülme animasyonları olsun. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
money değeri her arttığında moneytext yazısı biraz büyüyüp tekrar eski haline gelsin. büyüyüp küçülme animasyonu olsun. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
Code edit (11 edits merged)
Please save this source code
User prompt
sb ye bastığımızda artan speedcost değerini küsüratlı çıkarsa yukarı sayıya yuvarla
User prompt
sb ye bastığımızda artan speedboat değerini küsüratlı çıkarsa yukarı sayıya yuvarla
Code edit (2 edits merged)
Please save this source code
User prompt
global bir değişkene 10 adet renk tanımla. level değeri her arttığında bu renklerden sıradaki hangisi ise o ren arkaplan rengi olsun
Code edit (4 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 antGraphics = self.attachAsset('ant', { anchorX: 0.5, anchorY: 0.5 }); self.speed = speed; self.power = power; self.updateAntGraphics = function () { var randomIndex = Math.floor(Math.random() * antNames.length); var randomAntName = antNames[randomIndex]; antGraphics = self.attachAsset(randomAntName, { anchorX: 0.5, anchorY: 0.5 }); }; //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; 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", "ant1", "ant2"]; 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; ant.updateAntGraphics(); 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(); 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
@@ -14,8 +14,16 @@
anchorY: 0.5
});
self.speed = speed;
self.power = power;
+ self.updateAntGraphics = function () {
+ var randomIndex = Math.floor(Math.random() * antNames.length);
+ var randomAntName = antNames[randomIndex];
+ antGraphics = self.attachAsset(randomAntName, {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ };
//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;
@@ -160,9 +168,9 @@
var speed = 5; // Default speed value
var power = 0.0001; // Default power value
var wait = 5; // Default wait value
var revenue = 1;
-var money = 5000;
+var money = 0;
var speedcost = 5;
var powercost = 10;
var workercost = 15;
var level = 1;
@@ -251,14 +259,9 @@
pb.down = function (x, y, obj) {
if (money >= powercost) {
LK.getSound('upgradesound').play();
power += 0.0001;
- var randomAntName = antNames[Math.floor(Math.random() * antNames.length)];
- var ant = game.addChild(new Ant());
- ant.attachAsset(randomAntName, {
- anchorX: 0.5,
- anchorY: 0.5
- });
+ ant.updateAntGraphics();
money -= powercost;
powercost += Math.ceil(powercost / 100 * 160);
revenue += 1;
tween(pb.scale, {
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