/****
* 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