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 - 50;
monsterInfo.y = enemyMonster.y + enemyMonster.height / 2 + monsterInfo.height / 2 + 300;
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
@@ -310,10 +310,10 @@
anchorX: 0.5,
anchorY: 0.5,
tint: 0x000000 // Set color to black
});
-monsterInfo.x = enemyMonster.x + 50;
-monsterInfo.y = enemyMonster.y + enemyMonster.height / 2 + monsterInfo.height / 2 + 350;
+monsterInfo.x = enemyMonster.x - 50;
+monsterInfo.y = enemyMonster.y + enemyMonster.height / 2 + monsterInfo.height / 2 + 300;
game.addChild(monsterInfo);
// Score ve Upgrade sistemi
var diamonds = 100;
var diamondText = new Text2('Diamonds: ' + diamonds, {
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