var foxTimeout; var Guard = Container.expand(function () { var self = Container.call(this); self.setLocation('North Pole'); self.guardGraphics = self.createAsset('guard', 'Guard Graphics', .5, .5); self.foxesCaught = 0; self.catchLimit = 10; self.catchFox = function (fox) { fox.destroy(); self.foxesCaught++; if (self.foxesCaught >= self.catchLimit) { self.destroy(); } }; self.update = function () {}; }); var Fox = Container.expand(function (speedIncrement) { var self = Container.call(this); var foxGraphics = self.createAsset('fox', 'Fox Graphics', .5, .5); self.speed = 1; self.interactive = true; self.buttonMode = true; self.on('down', function () { var guards = LK.stage.children.filter(function (child) { return child instanceof Guard; }); if (guards.length > 0) { var closestGuard = guards.reduce(function (prev, curr) { var prevDistance = Math.sqrt(Math.pow(prev.x - self.x, 2) + Math.pow(prev.y - self.y, 2)); var currDistance = Math.sqrt(Math.pow(curr.x - self.x, 2) + Math.pow(curr.y - self.y, 2)); return prevDistance < currDistance ? prev : curr; }); closestGuard.catchFox(self); } else { LK.clearTimeout(foxTimeout); self.destroy(); } }); self.stealMoney = function () { if (LK.getScore() >= 100) { LK.setScore(LK.getScore() - 100); } self.destroy(); }; self.update = function () { self.y += self.speed; }; Fox.speedIncrement = speedIncrement || 0.5; }); var GiftDecoration = Container.expand(function () { var self = Container.call(this); var giftDecorationGraphics = self.createAsset('giftDecoration', 'Gift Decoration Graphics', .5, .5); self.update = function () {}; }); var ChristmasTree = Container.expand(function () { var self = Container.call(this); var treeGraphics = self.createAsset('christmasTree', 'Christmas Tree Graphics', .5, .5); self.update = function () {}; }); var Gift = Container.expand(function () { var self = Container.call(this); var giftGraphics = self.createAsset('engineGift', 'Engine Gift Graphics', .5, .5); self.move = function () {}; self.update = function () {}; }); var Santa = Container.expand(function () { var self = Container.call(this); var santaGraphics = self.createAsset('santa', 'Santa Graphics', .5, .5); self.move = function () {}; self.update = function () {}; }); var Factory = Container.expand(function () { var self = Container.call(this); self.factoryGraphics = self.createAsset('factory', 'Factory Graphics', .5, .5); self.productionValue = 5; self.terrainUpgradeCost = 1000; self.upgradeCost = 1000; self.produceGift = function () { LK.setInterval(function () { var earnedMoney = self.productionValue; LK.setScore(LK.getScore() + earnedMoney); var earnedMoneyTxt = new Text2('+' + earnedMoney, { size: 100, fill: "#ffffff" }); earnedMoneyTxt.x = self.x; earnedMoneyTxt.y = self.y - 100; earnedMoneyTxt.anchor.set(0.5, 0.5); LK.gui.addChild(earnedMoneyTxt); var moveUpwards = function () { earnedMoneyTxt.y -= 2; if (earnedMoneyTxt.y < self.y - 300) { earnedMoneyTxt.destroy(); } }; LK.on('tick', moveUpwards); LK.setTimeout(function () { LK.off('tick', moveUpwards); if (earnedMoneyTxt.parent) { earnedMoneyTxt.destroy(); } }, 3000); }, 5000); }; self.terrainUpgrades = []; self.upgradeTerrain = function () { self.terrainUpgradeCost = 1; if (LK.getScore() >= self.terrainUpgradeCost) { LK.setScore(LK.getScore() - self.terrainUpgradeCost); var newDecoration = new GiftDecoration(); newDecoration.x = Math.random() * 2048; newDecoration.y = Math.random() * 2732; self.terrainUpgrades.push(newDecoration); LK.stage.addChild(newDecoration); var newTree = new ChristmasTree(); newTree.x = Math.random() * 2048; newTree.y = Math.random() * 2732; self.terrainUpgrades.push(newTree); LK.stage.addChild(newTree); self.terrainUpgradeCost *= 2; } }; self.update = function () {}; }); var Game = Container.expand(function () { Game.prototype.upgradeFactory = function (factory) { if (LK.getScore() >= factory.upgradeCost) { LK.setScore(LK.getScore() - factory.upgradeCost); factory.productionValue *= 2; factory.upgradeCost *= 2; } }; var self = Container.call(this); var gifts = []; var factories = []; var santa = self.addChild(new Santa()); santa.x = 2048 / 2; santa.y = 2732 / 2; var factory = self.addChild(new Factory()); factory.x = 2048 / 4; factory.y = 2732 / 4; factories.push(factory); var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); var compareGroundButton = self.createAsset('compareFloorButton', 'Compare Floor Button', 0.5, 1); compareGroundButton.x = 2048 / 2; compareGroundButton.y = 2732 - compareGroundButton.height * 1.5; self.addChild(compareGroundButton); compareGroundButton.on('down', function () { if (self.terrainUpgrades) { self.terrainUpgrades.forEach(function (upgrade) { upgrade.alpha = upgrade.alpha === 1 ? 0.5 : 1; }); } }); var purchaseFactoryButton = self.createAsset('purchaseFactoryButton', 'Purchase Factory Button', 0.5, 1); var purchaseGuardButton = self.createAsset('purchaseGuardButton', 'Purchase Guard Button', 0.5, 1); purchaseGuardButton.x = 2048 / 2 + purchaseGuardButton.width; purchaseGuardButton.y = 2732 - purchaseGuardButton.height / 2; self.addChild(purchaseGuardButton); purchaseGuardButton.on('down', function () { var guardCost = 1000; if (LK.getScore() >= guardCost) { LK.setScore(LK.getScore() - guardCost); var newGuard = self.addChild(new Guard()); newGuard.x = Math.random() * 2048; newGuard.y = Math.random() * 2732; } }); var upgradeTerrainButton = self.createAsset('upgradeTerrainButton', 'Upgrade Terrain Button', 0.5, 1); purchaseFactoryButton.x = 2048 / 2 - purchaseFactoryButton.width; purchaseFactoryButton.y = 2732 - purchaseFactoryButton.height / 2; upgradeTerrainButton.x = 2048 / 2 + upgradeTerrainButton.width; upgradeTerrainButton.y = 2732 - upgradeTerrainButton.height / 2; self.addChild(purchaseFactoryButton); self.addChild(upgradeTerrainButton); purchaseFactoryButton.on('down', function () { var factoryCost = 100; if (LK.getScore() >= factoryCost) { LK.setScore(LK.getScore() - factoryCost); var newFactory = self.addChild(new Factory()); newFactory.x = 2048 / 4; newFactory.y = 2732 / 4 * factories.length; factories.push(newFactory); newFactory.produceGift(); scoreTxt.setText(LK.getScore()); } else { var noMoneyTxt = new Text2('No Money', { size: 100, fill: "#ffffff" }); noMoneyTxt.x = LK.stage.width / 2; noMoneyTxt.y = LK.stage.height / 2; noMoneyTxt.anchor.set(0.5, 0.5); LK.gui.addChild(noMoneyTxt); LK.setTimeout(function () { noMoneyTxt.destroy(); }, 5000); } }); upgradeTerrainButton.on('down', function () { factory.upgradeTerrain(); scoreTxt.setText(LK.getScore()); }); LK.setScore(5); scoreTxt.setText(0); var lastScore = 0; var foxTimeout; LK.on('tick', function () { var currentScore = LK.getScore(); if (currentScore >= lastScore + 100) { lastScore += 100; var fox = new Fox(Fox.speedIncrement); fox.speed += Fox.speedIncrement; fox.x = Math.random() * 2048; fox.y = Math.random() * 2732; self.addChild(fox); foxTimeout = LK.setTimeout(function () { fox.stealMoney(); scoreTxt.setText(LK.getScore()); }, 5000); } }); scoreTxt.anchor.set(.5, 0); LK.gui.topCenter.addChild(scoreTxt); santa.on('down', function (obj) { console.log('Santa was pressed'); }); factory.on('down', function (obj) { var upgradeButton = self.createAsset('upgradeButton', 'Upgrade Factory Button', 0.5, 1); upgradeButton.x = factory.x + factory.getChildAt(0).width / 2 + 20; upgradeButton.y = factory.y; self.addChild(upgradeButton); upgradeButton.on('down', function () { self.upgradeFactory(factory); scoreTxt.setText(LK.getScore()); upgradeButton.destroy(); }); factory.produceGift(); scoreTxt.setText(LK.getScore()); }); LK.on('tick', function () { santa.update(); for (var i = 0; i < factories.length; i++) { factories[i].update(); } for (var i = 0; i < gifts.length; i++) { gifts[i].move(); if (gifts[i].y < -50) { gifts[i].destroy(); gifts.splice(i, 1); } } }); });
var foxTimeout;
var Guard = Container.expand(function () {
var self = Container.call(this);
self.setLocation('North Pole');
self.guardGraphics = self.createAsset('guard', 'Guard Graphics', .5, .5);
self.foxesCaught = 0;
self.catchLimit = 10;
self.catchFox = function (fox) {
fox.destroy();
self.foxesCaught++;
if (self.foxesCaught >= self.catchLimit) {
self.destroy();
}
};
self.update = function () {};
});
var Fox = Container.expand(function (speedIncrement) {
var self = Container.call(this);
var foxGraphics = self.createAsset('fox', 'Fox Graphics', .5, .5);
self.speed = 1;
self.interactive = true;
self.buttonMode = true;
self.on('down', function () {
var guards = LK.stage.children.filter(function (child) {
return child instanceof Guard;
});
if (guards.length > 0) {
var closestGuard = guards.reduce(function (prev, curr) {
var prevDistance = Math.sqrt(Math.pow(prev.x - self.x, 2) + Math.pow(prev.y - self.y, 2));
var currDistance = Math.sqrt(Math.pow(curr.x - self.x, 2) + Math.pow(curr.y - self.y, 2));
return prevDistance < currDistance ? prev : curr;
});
closestGuard.catchFox(self);
} else {
LK.clearTimeout(foxTimeout);
self.destroy();
}
});
self.stealMoney = function () {
if (LK.getScore() >= 100) {
LK.setScore(LK.getScore() - 100);
}
self.destroy();
};
self.update = function () {
self.y += self.speed;
};
Fox.speedIncrement = speedIncrement || 0.5;
});
var GiftDecoration = Container.expand(function () {
var self = Container.call(this);
var giftDecorationGraphics = self.createAsset('giftDecoration', 'Gift Decoration Graphics', .5, .5);
self.update = function () {};
});
var ChristmasTree = Container.expand(function () {
var self = Container.call(this);
var treeGraphics = self.createAsset('christmasTree', 'Christmas Tree Graphics', .5, .5);
self.update = function () {};
});
var Gift = Container.expand(function () {
var self = Container.call(this);
var giftGraphics = self.createAsset('engineGift', 'Engine Gift Graphics', .5, .5);
self.move = function () {};
self.update = function () {};
});
var Santa = Container.expand(function () {
var self = Container.call(this);
var santaGraphics = self.createAsset('santa', 'Santa Graphics', .5, .5);
self.move = function () {};
self.update = function () {};
});
var Factory = Container.expand(function () {
var self = Container.call(this);
self.factoryGraphics = self.createAsset('factory', 'Factory Graphics', .5, .5);
self.productionValue = 5;
self.terrainUpgradeCost = 1000;
self.upgradeCost = 1000;
self.produceGift = function () {
LK.setInterval(function () {
var earnedMoney = self.productionValue;
LK.setScore(LK.getScore() + earnedMoney);
var earnedMoneyTxt = new Text2('+' + earnedMoney, {
size: 100,
fill: "#ffffff"
});
earnedMoneyTxt.x = self.x;
earnedMoneyTxt.y = self.y - 100;
earnedMoneyTxt.anchor.set(0.5, 0.5);
LK.gui.addChild(earnedMoneyTxt);
var moveUpwards = function () {
earnedMoneyTxt.y -= 2;
if (earnedMoneyTxt.y < self.y - 300) {
earnedMoneyTxt.destroy();
}
};
LK.on('tick', moveUpwards);
LK.setTimeout(function () {
LK.off('tick', moveUpwards);
if (earnedMoneyTxt.parent) {
earnedMoneyTxt.destroy();
}
}, 3000);
}, 5000);
};
self.terrainUpgrades = [];
self.upgradeTerrain = function () {
self.terrainUpgradeCost = 1;
if (LK.getScore() >= self.terrainUpgradeCost) {
LK.setScore(LK.getScore() - self.terrainUpgradeCost);
var newDecoration = new GiftDecoration();
newDecoration.x = Math.random() * 2048;
newDecoration.y = Math.random() * 2732;
self.terrainUpgrades.push(newDecoration);
LK.stage.addChild(newDecoration);
var newTree = new ChristmasTree();
newTree.x = Math.random() * 2048;
newTree.y = Math.random() * 2732;
self.terrainUpgrades.push(newTree);
LK.stage.addChild(newTree);
self.terrainUpgradeCost *= 2;
}
};
self.update = function () {};
});
var Game = Container.expand(function () {
Game.prototype.upgradeFactory = function (factory) {
if (LK.getScore() >= factory.upgradeCost) {
LK.setScore(LK.getScore() - factory.upgradeCost);
factory.productionValue *= 2;
factory.upgradeCost *= 2;
}
};
var self = Container.call(this);
var gifts = [];
var factories = [];
var santa = self.addChild(new Santa());
santa.x = 2048 / 2;
santa.y = 2732 / 2;
var factory = self.addChild(new Factory());
factory.x = 2048 / 4;
factory.y = 2732 / 4;
factories.push(factory);
var scoreTxt = new Text2('0', {
size: 150,
fill: "#ffffff"
});
var compareGroundButton = self.createAsset('compareFloorButton', 'Compare Floor Button', 0.5, 1);
compareGroundButton.x = 2048 / 2;
compareGroundButton.y = 2732 - compareGroundButton.height * 1.5;
self.addChild(compareGroundButton);
compareGroundButton.on('down', function () {
if (self.terrainUpgrades) {
self.terrainUpgrades.forEach(function (upgrade) {
upgrade.alpha = upgrade.alpha === 1 ? 0.5 : 1;
});
}
});
var purchaseFactoryButton = self.createAsset('purchaseFactoryButton', 'Purchase Factory Button', 0.5, 1);
var purchaseGuardButton = self.createAsset('purchaseGuardButton', 'Purchase Guard Button', 0.5, 1);
purchaseGuardButton.x = 2048 / 2 + purchaseGuardButton.width;
purchaseGuardButton.y = 2732 - purchaseGuardButton.height / 2;
self.addChild(purchaseGuardButton);
purchaseGuardButton.on('down', function () {
var guardCost = 1000;
if (LK.getScore() >= guardCost) {
LK.setScore(LK.getScore() - guardCost);
var newGuard = self.addChild(new Guard());
newGuard.x = Math.random() * 2048;
newGuard.y = Math.random() * 2732;
}
});
var upgradeTerrainButton = self.createAsset('upgradeTerrainButton', 'Upgrade Terrain Button', 0.5, 1);
purchaseFactoryButton.x = 2048 / 2 - purchaseFactoryButton.width;
purchaseFactoryButton.y = 2732 - purchaseFactoryButton.height / 2;
upgradeTerrainButton.x = 2048 / 2 + upgradeTerrainButton.width;
upgradeTerrainButton.y = 2732 - upgradeTerrainButton.height / 2;
self.addChild(purchaseFactoryButton);
self.addChild(upgradeTerrainButton);
purchaseFactoryButton.on('down', function () {
var factoryCost = 100;
if (LK.getScore() >= factoryCost) {
LK.setScore(LK.getScore() - factoryCost);
var newFactory = self.addChild(new Factory());
newFactory.x = 2048 / 4;
newFactory.y = 2732 / 4 * factories.length;
factories.push(newFactory);
newFactory.produceGift();
scoreTxt.setText(LK.getScore());
} else {
var noMoneyTxt = new Text2('No Money', {
size: 100,
fill: "#ffffff"
});
noMoneyTxt.x = LK.stage.width / 2;
noMoneyTxt.y = LK.stage.height / 2;
noMoneyTxt.anchor.set(0.5, 0.5);
LK.gui.addChild(noMoneyTxt);
LK.setTimeout(function () {
noMoneyTxt.destroy();
}, 5000);
}
});
upgradeTerrainButton.on('down', function () {
factory.upgradeTerrain();
scoreTxt.setText(LK.getScore());
});
LK.setScore(5);
scoreTxt.setText(0);
var lastScore = 0;
var foxTimeout;
LK.on('tick', function () {
var currentScore = LK.getScore();
if (currentScore >= lastScore + 100) {
lastScore += 100;
var fox = new Fox(Fox.speedIncrement);
fox.speed += Fox.speedIncrement;
fox.x = Math.random() * 2048;
fox.y = Math.random() * 2732;
self.addChild(fox);
foxTimeout = LK.setTimeout(function () {
fox.stealMoney();
scoreTxt.setText(LK.getScore());
}, 5000);
}
});
scoreTxt.anchor.set(.5, 0);
LK.gui.topCenter.addChild(scoreTxt);
santa.on('down', function (obj) {
console.log('Santa was pressed');
});
factory.on('down', function (obj) {
var upgradeButton = self.createAsset('upgradeButton', 'Upgrade Factory Button', 0.5, 1);
upgradeButton.x = factory.x + factory.getChildAt(0).width / 2 + 20;
upgradeButton.y = factory.y;
self.addChild(upgradeButton);
upgradeButton.on('down', function () {
self.upgradeFactory(factory);
scoreTxt.setText(LK.getScore());
upgradeButton.destroy();
});
factory.produceGift();
scoreTxt.setText(LK.getScore());
});
LK.on('tick', function () {
santa.update();
for (var i = 0; i < factories.length; i++) {
factories[i].update();
}
for (var i = 0; i < gifts.length; i++) {
gifts[i].move();
if (gifts[i].y < -50) {
gifts[i].destroy();
gifts.splice(i, 1);
}
}
});
});
Фабрика Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Лис в новогодний шапке Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Рождественская ёлка Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Стрелочка в верх Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Покупка Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Санта Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Разноцветный подарок Подарок Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.