/**** * 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 + 100; // Start the fisherman from a lower position 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 + 100; // Position new miners lower on the screen 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 + 400; newWarrior.y = tent.y + 100; // Start the warrior from a lower position 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 = 2; 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 + 400) { self.fighting = false; self.x = tent.x + 400; } } }; }); /**** * 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 // Add '+speed (700 diamonds)' text above the buttonInfo asset var speedText = new Text2('+speed (700 diamonds)', { size: 70, fill: 0xFFFFFF // White color for visibility }); speedText.anchor.set(0.5, 0.5); speedText.x = buyButton.x + 200; speedText.y = buyButton.y - buyButton.height / 2 - 50; // Position further up game.addChild(speedText); 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 minerText = new Text2('miner (80 dia)', { size: 50, fill: 0x000000 // Black color for visibility }); minerText.anchor.set(0.5, 0.5); minerText.x = buyMiner.x - buyMiner.width / 2 - minerText.width / 2 - 10; // Position to the left of the buyMiner button minerText.y = buyMiner.y; // Align vertically with the buyMiner button game.addChild(minerText); var buyFisherman = game.addChild(new BuyFisherman()); buyFisherman.x = buyMiner.x; buyFisherman.y = buyMiner.y + 150 + 37.8; var fisherText = new Text2('fisher (50 dia)', { size: 50, fill: 0xFFFFFF // White color for visibility }); fisherText.anchor.set(0.5, 0.5); fisherText.x = buyFisherman.x - buyFisherman.width / 2 - fisherText.width / 2 - 10; // Position to the left of the buyFisherman button fisherText.y = buyFisherman.y; // Align vertically with the buyFisherman button game.addChild(fisherText); var buyWarrior = game.addChild(new BuyWarrior()); buyWarrior.x = buyFisherman.x; buyWarrior.y = buyFisherman.y + 150 + 37.8; var warriorText = new Text2('warrior (150 dia)', { size: 50, fill: 0x00BFFF // Bright blue color for visibility }); warriorText.anchor.set(0.5, 0.5); warriorText.x = buyWarrior.x - buyWarrior.width / 2 - warriorText.width / 2 - 10; // Position to the left of the buyWarrior button warriorText.y = buyWarrior.y; // Align vertically with the buyWarrior button game.addChild(warriorText); 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 + 100; // Start the miner from a lower position 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 // Score ve Upgrade sistemi var diamonds = 50; 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); var goalText = new Text2('goal: 50 chests', { size: 50, fill: 0x8B4513, // Dark brown color style: 'italic', // Add style for glitter effect shadow: { blur: 10, color: 0x8B4513 } // Add shadow for glitter effect }); goalText.anchor.set(0.5, 0); goalText.x = treasureChest.x; goalText.y = treasureChest.y + 100; // Position further down below the treasure chest LK.gui.top.addChild(goalText); // Fonksiyonlar function winTreasure() { console.log("Warrior has won a treasure chest!"); treasureChestCount += 1; treasureChestText.setText('x' + treasureChestCount); treasureChest.visible = true; if (treasureChestCount >= 50) { var timeTaken = Math.floor((Date.now() - gameStartTime) / 1000); // Calculate time in seconds var timeText = new Text2('Final Score: ' + 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.down = function (x, y, obj) { if (!game.starActive) { game.starActive = true; var star = LK.getAsset('star', { anchorX: 0.5, anchorY: 0.5 }); star.x = x; star.y = y; game.addChild(star); LK.setTimeout(function () { star.alpha = 0; game.removeChild(star); game.starActive = false; }, 400); diamonds += 1; diamondText.setText('Diamonds: ' + diamonds); } }; 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(); } };
/****
* 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 + 100; // Start the fisherman from a lower position
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 + 100; // Position new miners lower on the screen
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 + 400;
newWarrior.y = tent.y + 100; // Start the warrior from a lower position
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 = 2;
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 + 400) {
self.fighting = false;
self.x = tent.x + 400;
}
}
};
});
/****
* 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
// Add '+speed (700 diamonds)' text above the buttonInfo asset
var speedText = new Text2('+speed (700 diamonds)', {
size: 70,
fill: 0xFFFFFF // White color for visibility
});
speedText.anchor.set(0.5, 0.5);
speedText.x = buyButton.x + 200;
speedText.y = buyButton.y - buyButton.height / 2 - 50; // Position further up
game.addChild(speedText);
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 minerText = new Text2('miner (80 dia)', {
size: 50,
fill: 0x000000 // Black color for visibility
});
minerText.anchor.set(0.5, 0.5);
minerText.x = buyMiner.x - buyMiner.width / 2 - minerText.width / 2 - 10; // Position to the left of the buyMiner button
minerText.y = buyMiner.y; // Align vertically with the buyMiner button
game.addChild(minerText);
var buyFisherman = game.addChild(new BuyFisherman());
buyFisherman.x = buyMiner.x;
buyFisherman.y = buyMiner.y + 150 + 37.8;
var fisherText = new Text2('fisher (50 dia)', {
size: 50,
fill: 0xFFFFFF // White color for visibility
});
fisherText.anchor.set(0.5, 0.5);
fisherText.x = buyFisherman.x - buyFisherman.width / 2 - fisherText.width / 2 - 10; // Position to the left of the buyFisherman button
fisherText.y = buyFisherman.y; // Align vertically with the buyFisherman button
game.addChild(fisherText);
var buyWarrior = game.addChild(new BuyWarrior());
buyWarrior.x = buyFisherman.x;
buyWarrior.y = buyFisherman.y + 150 + 37.8;
var warriorText = new Text2('warrior (150 dia)', {
size: 50,
fill: 0x00BFFF // Bright blue color for visibility
});
warriorText.anchor.set(0.5, 0.5);
warriorText.x = buyWarrior.x - buyWarrior.width / 2 - warriorText.width / 2 - 10; // Position to the left of the buyWarrior button
warriorText.y = buyWarrior.y; // Align vertically with the buyWarrior button
game.addChild(warriorText);
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 + 100; // Start the miner from a lower position
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
// Score ve Upgrade sistemi
var diamonds = 50;
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);
var goalText = new Text2('goal: 50 chests', {
size: 50,
fill: 0x8B4513,
// Dark brown color
style: 'italic',
// Add style for glitter effect
shadow: {
blur: 10,
color: 0x8B4513
} // Add shadow for glitter effect
});
goalText.anchor.set(0.5, 0);
goalText.x = treasureChest.x;
goalText.y = treasureChest.y + 100; // Position further down below the treasure chest
LK.gui.top.addChild(goalText);
// Fonksiyonlar
function winTreasure() {
console.log("Warrior has won a treasure chest!");
treasureChestCount += 1;
treasureChestText.setText('x' + treasureChestCount);
treasureChest.visible = true;
if (treasureChestCount >= 50) {
var timeTaken = Math.floor((Date.now() - gameStartTime) / 1000); // Calculate time in seconds
var timeText = new Text2('Final Score: ' + 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.down = function (x, y, obj) {
if (!game.starActive) {
game.starActive = true;
var star = LK.getAsset('star', {
anchorX: 0.5,
anchorY: 0.5
});
star.x = x;
star.y = y;
game.addChild(star);
LK.setTimeout(function () {
star.alpha = 0;
game.removeChild(star);
game.starActive = false;
}, 400);
diamonds += 1;
diamondText.setText('Diamonds: ' + diamonds);
}
};
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();
}
};
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