User prompt
700 diamonds textini aşağı indir
User prompt
redButton üzerine 700 diamonds yaz
User prompt
savaşçının hızını arttır
User prompt
savaşçı daha sağda başlayıp bitirsin
User prompt
savaşçı daha sağda başlayıp bitirsin
User prompt
balıkçı ve savaşçı daha aşağıdan hareket etsin
User prompt
madenci daha aşağıdan hareket etsin
User prompt
madenci balıkçı ve savaşçı biraz daha aşağıdan hareket esin
User prompt
mağara daha yukarıda olsun
User prompt
cave asseti daha yukarıda olsun
User prompt
cave daha yukarıda olsun
User prompt
oyun 150 elmas ile başlasın
User prompt
oyun 180 elmas ile başlasın
User prompt
canavarın altındaki info asseti daha yukarıda olsun
User prompt
canavarın altındaki info asseti daha sağda olsun
User prompt
canavarın altındaki info asseti daha yukarıda olsun
User prompt
canavarın altındaki info asseti çok az sağda olsun
User prompt
canavarın altındaki info asseti biraz sağda olsun
User prompt
canavarın altındaki info asseti daha sağda olsun
User prompt
canavarın altındaki info asseti daha sağda olsun
Code edit (1 edits merged)
Please save this source code
User prompt
arkadan giden minerı kaldır
User prompt
oyun tek minerla başlasın
User prompt
text asseti daha yukarıda olsun
User prompt
text asseti daha yukarıda olsun
/**** * Classes ****/ // BuyFisherman Class var BuyFisherman = Container.expand(function () { var self = Container.call(this); self.attachAsset('buyFisherman', { anchorX: 0.5, anchorY: 0.5 }); self.down = function (x, y, obj) { if (diamonds >= 50) { diamonds -= 50; var newFisherman = new Fisherman(); newFisherman.x = tent.x; newFisherman.y = tent.y; game.addChild(newFisherman); var numFishermen = game.children.filter(function (child) { return child instanceof Fisherman; }).length; newFisherman.hungerReductionFactor = 9 + (numFishermen - 1); diamondText.setText('Diamonds: ' + diamonds); } }; }); // BuyMiner Class var BuyMiner = Container.expand(function () { var self = Container.call(this); self.attachAsset('buyMiner', { anchorX: 0.5, anchorY: 0.5 }); self.down = function (x, y, obj) { if (diamonds >= 80) { diamonds = Math.max(0, diamonds - 80); var newMiner = new Miner(); newMiner.x = tent.x; newMiner.y = tent.y; game.addChild(newMiner); diamondText.setText('Diamonds: ' + diamonds); } }; }); // BuyWarrior Class var BuyWarrior = Container.expand(function () { var self = Container.call(this); self.attachAsset('buyWarrior', { anchorX: 0.5, anchorY: 0.5 }); self.down = function (x, y, obj) { if (diamonds >= 150) { diamonds = Math.max(0, diamonds - 150); var newWarrior = new Warrior(); newWarrior.x = tent.x; newWarrior.y = tent.y; game.addChild(newWarrior); diamondText.setText('Diamonds: ' + diamonds); } }; }); // Cave Class var Cave = Container.expand(function () { var self = Container.call(this); self.attachAsset('cave', { anchorX: 0.5, anchorY: 0.5 }); }); // EnemyMonster Class var EnemyMonster = Container.expand(function () { var self = Container.call(this); self.attachAsset('enemyMonster', { anchorX: 0.5, anchorY: 0.5 }); self.enterBattleMode = function () { console.log("Enemy Monster is entering battle mode!"); }; }); // Fisherman Class var Fisherman = Container.expand(function () { var self = Container.call(this); self.attachAsset('fisherman', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 4.0; self.collecting = false; self.hungerReductionFactor = 9; self.update = function () { if (!self.collecting) { self.x += self.speed; if (self.x >= lake.x) { LK.getSound('fishingSound').play(); self.collecting = true; self.x = lake.x; } } else { self.x -= self.speed; if (self.x <= tent.x + 200) { self.collecting = false; self.x = tent.x + 200; miner.hunger = Math.max(0, miner.hunger - self.hungerReductionFactor); hungerText.setText('Hunger: ' + Math.max(0, Math.floor(miner.hunger))); } } }; }); var Miner = Container.expand(function () { var self = Container.call(this); self.attachAsset('miner', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3.7; self.collecting = false; self.hunger = 0; self.update = function () { if (!self.collecting) { self.x += self.speed; if (self.x >= cave.x) { LK.getSound('pickaxeSound').play(); self.collecting = true; self.x = cave.x; collectDiamonds(); } } else { self.x -= self.speed; if (self.x <= tent.x + 300) { self.collecting = false; self.x = tent.x + 300; LK.getSound('diamondDrop').play(); diamonds += 5; diamondText.setText('Diamonds: ' + diamonds); } } }; }); // Tent Class var Tent = Container.expand(function () { var self = Container.call(this); self.attachAsset('tent', { anchorX: 0.5, anchorY: 0.5 }); }); // Warrior Class var Warrior = Container.expand(function () { var self = Container.call(this); self.attachAsset('warrior', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 1; self.fighting = false; self.update = function () { if (!self.fighting) { self.x += self.speed; if (self.x >= enemyMonster.x) { LK.getSound('battle').play(); self.fighting = true; self.x = enemyMonster.x; fightEnemies(); winTreasure(); } } else { self.x -= self.speed; if (self.x <= tent.x + 200) { self.fighting = false; self.x = tent.x + 200; } } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Initialize a timer to track the game duration var gameStartTime = Date.now(); // Create a text object to display the timer var timerText = new Text2('Time: 0s', { size: 50, // Smaller size for the timer fill: 0xFFFFFF // White color for visibility }); timerText.anchor.set(0, 0); // Anchor to the top-left corner timerText.y = 150; // Move the timer further down LK.gui.topLeft.addChild(timerText); // Add the timer text to the GUI var background = LK.getAsset('backgroundImage', { anchorX: 0.5, anchorY: 0.5 }); background.x = 2048 / 2; background.y = 2732 / 2; game.addChild(background); var buyButton = LK.getAsset('buyButton', { anchorX: 0.5, anchorY: 0.5 }); buyButton.x = 50 + buyButton.width / 2; buyButton.y = 2682 - buyButton.height / 2; // Add an info asset above the buyButton var buttonInfo = LK.getAsset('buttonInfo', { anchorX: 0.5, anchorY: 0.5 }); buttonInfo.x = buyButton.x + 200; buttonInfo.y = buyButton.y - buyButton.height / 2 - buttonInfo.height / 2 + 400; game.addChild(buttonInfo); game.addChild(buyButton); buyButton.down = function (x, y, obj) { if (diamonds >= 700) { diamonds = Math.max(0, diamonds - 700); game.children.forEach(function (child) { if (child instanceof Miner || child instanceof Fisherman || child instanceof Warrior) { child.speed += 0.5; } }); diamondText.setText('Diamonds: ' + diamonds); } }; var buyMiner = game.addChild(new BuyMiner()); buyMiner.x = 2048 - 200; buyMiner.y = 2732 - 600 + 37.8; var buyFisherman = game.addChild(new BuyFisherman()); buyFisherman.x = buyMiner.x; buyFisherman.y = buyMiner.y + 150 + 37.8; var buyWarrior = game.addChild(new BuyWarrior()); buyWarrior.x = buyFisherman.x; buyWarrior.y = buyFisherman.y + 150 + 37.8; var buyWarriorPrice = new Text2('200 Diamonds', { size: 50, fill: 0xFFFFFF }); buyWarriorPrice.anchor.set(0.5, 0); LK.gui.top.addChild(buyWarriorPrice); buyWarriorPrice.x = buyWarrior.x + 150; buyWarriorPrice.y = buyWarrior.y; var tent = game.addChild(new Tent()); tent.x = 200; tent.y = 1366; var cave = game.addChild(new Cave()); cave.x = 1400; cave.y = 1366; var lake = game.addChild(LK.getAsset('lake', { anchorX: 0.5, anchorY: 0.5 })); lake.x = cave.x - 500; lake.y = cave.y + 600; var enemyMonster = game.addChild(new EnemyMonster()); enemyMonster.x = cave.x + 500; enemyMonster.y = cave.y; var buyMiner = game.addChild(new BuyMiner()); buyMiner.x = 2048 - 200; buyMiner.y = 2732 - 600 + 37.8; var buyFisherman = game.addChild(new BuyFisherman()); buyFisherman.x = buyMiner.x; buyFisherman.y = buyMiner.y + 150 + 37.8; var buyWarrior = game.addChild(new BuyWarrior()); buyWarrior.x = buyFisherman.x; buyWarrior.y = buyFisherman.y + 150 + 37.8; var buyWarriorPrice = new Text2('200 Diamonds', { size: 50, fill: 0xFFFFFF }); buyWarriorPrice.anchor.set(0.5, 0); LK.gui.top.addChild(buyWarriorPrice); buyWarriorPrice.x = buyWarrior.x + 150; buyWarriorPrice.y = buyWarrior.y; var tent = game.addChild(new Tent()); tent.x = 200; tent.y = 1366; var cave = game.addChild(new Cave()); cave.x = 1400; cave.y = 1366; var lake = game.addChild(LK.getAsset('lake', { anchorX: 0.5, anchorY: 0.5 })); lake.x = cave.x - 500; lake.y = cave.y + 600; var miner = game.addChild(new Miner()); miner.x = tent.x; miner.y = tent.y; miner.speed = 3.0; // Increase the speed of the first miner var enemyMonster = game.addChild(new EnemyMonster()); enemyMonster.x = cave.x + 500; enemyMonster.y = cave.y; // Add a text asset above the enemyMonster var monsterText = LK.getAsset('text', { anchorX: 0.5, anchorY: 0.5, tint: 0x000000 // Set color to black }); monsterText.x = enemyMonster.x - 100; monsterText.y = enemyMonster.y - enemyMonster.height / 2 - monsterText.height - 50; game.addChild(monsterText); // Add an info asset below the enemyMonster var monsterInfo = LK.getAsset('info', { anchorX: 0.5, anchorY: 0.5, tint: 0x000000 // Set color to black }); monsterInfo.x = enemyMonster.x - 300; monsterInfo.y = enemyMonster.y + enemyMonster.height / 2 + monsterInfo.height / 2 + 400; game.addChild(monsterInfo); // Score ve Upgrade sistemi var diamonds = 100; var diamondText = new Text2('Diamonds: ' + diamonds, { size: 100, fill: 0x000000 }); diamondText.anchor.set(0.5, 0); LK.gui.top.addChild(diamondText); diamondText.y = 50; var hungerText = new Text2('Hunger: 100', { size: 100, fill: 0x000000 }); hungerText.anchor.set(0.5, 0); LK.gui.top.addChild(hungerText); hungerText.y = 150; var treasureChest = LK.getAsset('treasureChest', { anchorX: 0.5, anchorY: 0.5 }); treasureChest.x = diamondText.x + 450; treasureChest.y = diamondText.y + 100; LK.gui.top.addChild(treasureChest); var treasureChestCount = 0; var treasureChestText = new Text2('x' + treasureChestCount, { size: 50, fill: 0x000000 }); treasureChestText.anchor.set(0.5, 0); treasureChestText.x = treasureChest.x + 150; treasureChestText.y = treasureChest.y; LK.gui.top.addChild(treasureChestText); // Fonksiyonlar function winTreasure() { console.log("Warrior has won a treasure chest!"); treasureChestCount += 1; treasureChestText.setText('x' + treasureChestCount); treasureChest.visible = true; if (treasureChestCount >= 100) { var timeTaken = Math.floor((Date.now() - gameStartTime) / 1000); // Calculate time in seconds var timeText = new Text2('Time: ' + timeTaken + 's', { // Create a text object to display time size: 100, fill: 0xFFFFFF }); timeText.anchor.set(0.5, 0); timeText.x = 2048 / 2; // Center the text horizontally timeText.y = 2732 / 2; // Center the text vertically LK.gui.top.addChild(timeText); // Add the text to the GUI LK.showYouWin(); } } function fightEnemies() { console.log("Warrior is fighting enemies!"); } function collectDiamonds() {} LK.playMusic('background', { loop: true }); game.update = function () { miner.update(); // Update the timer every second if (LK.ticks % 60 === 0) { var timeElapsed = Math.floor((Date.now() - gameStartTime) / 1000); // Calculate time in seconds timerText.setText('Time: ' + timeElapsed + 's'); // Update the timer text } if (LK.ticks % 60 === 0) { var totalCharacters = game.children.filter(function (child) { return child instanceof Miner || child instanceof Fisherman || child instanceof Warrior; }).length; miner.hunger += totalCharacters; hungerText.setText('Hunger: ' + Math.floor(miner.hunger)); if (miner.hunger >= 100) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } } if (LK.ticks % 1200 === 0) { LK.getSound('monsterRoar').play(); enemyMonster.enterBattleMode(); } };
===================================================================
--- original.js
+++ change.js
@@ -9,20 +9,16 @@
anchorY: 0.5
});
self.down = function (x, y, obj) {
if (diamonds >= 50) {
- // 50 elmas harcayarak yeni bir balıkçı ekle
diamonds -= 50;
var newFisherman = new Fisherman();
newFisherman.x = tent.x;
newFisherman.y = tent.y;
game.addChild(newFisherman);
- // Mevcut balıkçı sayısını hesaplıyoruz
var numFishermen = game.children.filter(function (child) {
return child instanceof Fisherman;
}).length;
- // Balıkçı sayısı arttıkça, açlık düşürme oranı artar.
- // Örneğin; ilk balıkçı 9, ikinci 10, üçüncü 11 şeklinde.
newFisherman.hungerReductionFactor = 9 + (numFishermen - 1);
diamondText.setText('Diamonds: ' + diamonds);
}
};
@@ -79,9 +75,8 @@
anchorY: 0.5
});
self.enterBattleMode = function () {
console.log("Enemy Monster is entering battle mode!");
- // Battle mode logic eklenebilir
};
});
// Fisherman Class
var Fisherman = Container.expand(function () {
@@ -91,9 +86,9 @@
anchorY: 0.5
});
self.speed = 4.0;
self.collecting = false;
- self.hungerReductionFactor = 9; // Varsayılan değer (satın alma sırasında güncellenecek)
+ self.hungerReductionFactor = 9;
self.update = function () {
if (!self.collecting) {
self.x += self.speed;
if (self.x >= lake.x) {
@@ -105,10 +100,8 @@
self.x -= self.speed;
if (self.x <= tent.x + 200) {
self.collecting = false;
self.x = tent.x + 200;
- // Balıkçı görevi tamamlandığında, madencinin açlığı düşürülüyor.
- // Yeni balıkçıların eklenmesiyle hungerReductionFactor azalmış olacak.
miner.hunger = Math.max(0, miner.hunger - self.hungerReductionFactor);
hungerText.setText('Hunger: ' + Math.max(0, Math.floor(miner.hunger)));
}
}
@@ -121,18 +114,17 @@
anchorY: 0.5
});
self.speed = 3.7;
self.collecting = false;
- self.hunger = 0; // Başlangıç açlık değeri
+ self.hunger = 0;
self.update = function () {
if (!self.collecting) {
self.x += self.speed;
if (self.x >= cave.x) {
LK.getSound('pickaxeSound').play();
self.collecting = true;
self.x = cave.x;
collectDiamonds();
- // Açlık artışı artık burada yapılmayacak!
}
} else {
self.x -= self.speed;
if (self.x <= tent.x + 300) {
@@ -202,17 +194,15 @@
});
timerText.anchor.set(0, 0); // Anchor to the top-left corner
timerText.y = 150; // Move the timer further down
LK.gui.topLeft.addChild(timerText); // Add the timer text to the GUI
-// Tek bir background ekliyoruz (duplicate olan kısım kaldırıldı)
var background = LK.getAsset('backgroundImage', {
anchorX: 0.5,
anchorY: 0.5
});
background.x = 2048 / 2;
background.y = 2732 / 2;
game.addChild(background);
-// Buy Button: Arka planın üstünde görünsün diye background'dan sonra ekliyoruz
var buyButton = LK.getAsset('buyButton', {
anchorX: 0.5,
anchorY: 0.5
});
@@ -237,9 +227,8 @@
});
diamondText.setText('Diamonds: ' + diamonds);
}
};
-// Ekstra butonların (buyMiner, buyFisherman, buyWarrior) ve diğer nesnelerin eklenmesi
var buyMiner = game.addChild(new BuyMiner());
buyMiner.x = 2048 - 200;
buyMiner.y = 2732 - 600 + 37.8;
var buyFisherman = game.addChild(new BuyFisherman());
@@ -270,9 +259,8 @@
lake.y = cave.y + 600;
var enemyMonster = game.addChild(new EnemyMonster());
enemyMonster.x = cave.x + 500;
enemyMonster.y = cave.y;
-// Ekstra butonların (buyMiner, buyFisherman, buyWarrior) ve diğer nesnelerin eklenmesi
var buyMiner = game.addChild(new BuyMiner());
buyMiner.x = 2048 - 200;
buyMiner.y = 2732 - 600 + 37.8;
var buyFisherman = game.addChild(new BuyFisherman());
@@ -379,32 +367,24 @@
}
}
function fightEnemies() {
console.log("Warrior is fighting enemies!");
- // Savaş mantığı eklenebilir
}
-function collectDiamonds() {
- // Diamond toplama mantığı eklenebilir
-}
-// Arka plan müziğini çal
+function collectDiamonds() {}
LK.playMusic('background', {
loop: true
});
-// Game update fonksiyonu
game.update = function () {
miner.update();
// Update the timer every second
if (LK.ticks % 60 === 0) {
var timeElapsed = Math.floor((Date.now() - gameStartTime) / 1000); // Calculate time in seconds
timerText.setText('Time: ' + timeElapsed + 's'); // Update the timer text
}
- // Her 60 tick’te (yaklaşık 1 saniyede) açlığı güncelle
if (LK.ticks % 60 === 0) {
- // Oyundaki toplam karakter sayısını hesaplıyoruz (madenci, balıkçı, savaşçı)
var totalCharacters = game.children.filter(function (child) {
return child instanceof Miner || child instanceof Fisherman || child instanceof Warrior;
}).length;
- // Her karakter için açlık 1 artıyor
miner.hunger += totalCharacters;
hungerText.setText('Hunger: ' + Math.floor(miner.hunger));
if (miner.hunger >= 100) {
LK.effects.flashScreen(0xff0000, 1000);
madenci çizgi karakter. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
balıkçı animasyon şeklinde. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
savaşçı karikatür şeklinde. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
hazine kutusu. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
light green
yuvarlak balıklı göl. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
kırmızı buton. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
"Collect 100 treasure chests as soon as possible." text. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
orman evi No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat