Code edit (2 edits merged)
Please save this source code
User prompt
mağara daha sağda olsun
User prompt
cave biraz sağda olsun
Code edit (1 edits merged)
Please save this source code
User prompt
miner 80 elmas olsun
Code edit (3 edits merged)
Please save this source code
User prompt
balıkçının hızı daha fazla olsun
User prompt
göl yarım santimetre yukarıda olsun
User prompt
madencinin hızı 2kat fazla olsun
User prompt
balıkçının hızı 2 kat fazla olsun
User prompt
satın alınan ilk balıkçının hızı 2.5 olsun
User prompt
ilk balıkçının hızı 2.5 olsun
Code edit (1 edits merged)
Please save this source code
User prompt
balıkçı ve savaşçı biraz daha ileriden başlayıp bitirsin
User prompt
diamonds 0dan aşağı olamaz
User prompt
balıkçı 50 elmas değerinde olsun
User prompt
balıkçı 50 elmas olsun
Code edit (1 edits merged)
Please save this source code
User prompt
açlık bir bir artsın(1,2,3,4...), artma oranı için hızını ayarla
User prompt
açlık birer birer artsın, artma hızını ayarla
User prompt
başlangıçtaki ilk madencinin hızı fazla olsun
User prompt
buyButtonu biraz daha yukarı ve sağa al
User prompt
buyButtonu sol alta al
Code edit (1 edits merged)
Please save this source code
User prompt
madencinin hızını azalt
/**** * 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 >= 80) { // 80 elmas harcayarak yeni bir balıkçı ekle diamonds -= 80; 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ı azalır. // Örneğin; ilk balıkçı 8, ikinci 7, üçüncü 6 şeklinde. newFisherman.hungerReductionFactor = Math.max(1, 8 - (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!"); // Battle mode logic eklenebilir }; }); // Fisherman Class var Fisherman = Container.expand(function () { var self = Container.call(this); self.attachAsset('fisherman', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 2; self.collecting = false; self.hungerReductionFactor = 6; // Varsayılan değer (satın alma sırasında güncellenecek) 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; // 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))); } } }; }); var Miner = Container.expand(function () { var self = Container.call(this); self.attachAsset('miner', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3.0; self.collecting = false; self.hunger = 0; // Başlangıç açlık değeri 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) { 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) { 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 ****/ // 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 }); buyButton.x = 50 + buyButton.width / 2; buyButton.y = 2682 - buyButton.height / 2; 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); } }; // 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()); 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 = 1600; 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 = 2.5; // Increase the speed of the first miner var enemyMonster = game.addChild(new EnemyMonster()); enemyMonster.x = cave.x + 500; enemyMonster.y = cave.y; // Score ve Upgrade sistemi var diamonds = 0; var diamondText = new Text2('Diamonds: 0', { 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) { LK.showYouWin(); } } function fightEnemies() { console.log("Warrior is fighting enemies!"); // Savaş mantığı eklenebilir } function collectDiamonds() { // Diamond toplama mantığı eklenebilir } // Arka plan müziğini çal LK.playMusic('background', { loop: true }); // Game update fonksiyonu game.update = function () { miner.update(); // 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); LK.showGameOver(); } } if (LK.ticks % 1200 === 0) { LK.getSound('monsterRoar').play(); enemyMonster.enterBattleMode(); } };
===================================================================
--- original.js
+++ change.js
@@ -8,17 +8,21 @@
anchorX: 0.5,
anchorY: 0.5
});
self.down = function (x, y, obj) {
- if (diamonds >= 50) {
- diamonds = Math.max(0, diamonds - 50);
+ if (diamonds >= 80) {
+ // 80 elmas harcayarak yeni bir balıkçı ekle
+ diamonds -= 80;
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ı azalır.
+ // Örneğin; ilk balıkçı 8, ikinci 7, üçüncü 6 şeklinde.
newFisherman.hungerReductionFactor = Math.max(1, 8 - (numFishermen - 1));
diamondText.setText('Diamonds: ' + diamonds);
}
};
@@ -85,11 +89,11 @@
self.attachAsset('fisherman', {
anchorX: 0.5,
anchorY: 0.5
});
- self.speed = 3.7;
+ self.speed = 2;
self.collecting = false;
- self.hungerReductionFactor = 6;
+ self.hungerReductionFactor = 6; // Varsayılan değer (satın alma sırasında güncellenecek)
self.update = function () {
if (!self.collecting) {
self.x += self.speed;
if (self.x >= lake.x) {
@@ -98,11 +102,13 @@
self.x = lake.x;
}
} else {
self.x -= self.speed;
- if (self.x <= tent.x + 300) {
+ if (self.x <= tent.x + 200) {
self.collecting = false;
- self.x = tent.x + 300;
+ 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)));
}
}
@@ -233,9 +239,9 @@
var tent = game.addChild(new Tent());
tent.x = 200;
tent.y = 1366;
var cave = game.addChild(new Cave());
-cave.x = 1400;
+cave.x = 1600;
cave.y = 1366;
var lake = game.addChild(LK.getAsset('lake', {
anchorX: 0.5,
anchorY: 0.5
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