User prompt
enlarge text and buttons
Code edit (1 edits merged)
Please save this source code
User prompt
Money Clicker Tycoon
Initial prompt
Make me a money clicker simulator, let's have improvements, let's save our score to the cloud, let's have Money Farm, Money Factory and similar things in our improvements
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1", { money: 0, farmCount: 0, factoryCount: 0, farmLevel: 1, factoryLevel: 1, highScore: 0 }); /**** * Classes ****/ // Money Button (Tap to earn) var MoneyBtn = Container.expand(function () { var self = Container.call(this); var btn = self.attachAsset('moneyBtn', { anchorX: 0.5, anchorY: 0.5 }); // Animate on tap self.tapAnim = function () { tween(self, { scaleX: 1.15, scaleY: 1.15 }, { duration: 80, easing: tween.easeOut, onFinish: function onFinish() { tween(self, { scaleX: 1, scaleY: 1 }, { duration: 120, easing: tween.easeIn }); } }); }; return self; }); // Upgrade Button (for farms/factories) var UpgradeBtn = Container.expand(function () { var self = Container.call(this); var btn = self.attachAsset('upgradeBtn', { anchorX: 0.5, anchorY: 0.5 }); return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x222222 }); /**** * Game Code ****/ // --- Persistent State --- // Money icon (main tap button) // Money Farm icon // Money Factory icon // Upgrade button var money = storage.money || 0; var farmCount = storage.farmCount || 0; var factoryCount = storage.factoryCount || 0; var farmLevel = storage.farmLevel || 1; var factoryLevel = storage.factoryLevel || 1; var highScore = storage.highScore || 0; // --- Constants --- var FARM_BASE_COST = 50; var FACTORY_BASE_COST = 500; var FARM_BASE_INCOME = 2; var FACTORY_BASE_INCOME = 20; var FARM_UPGRADE_COST = 100; var FACTORY_UPGRADE_COST = 1000; var FARM_UPGRADE_MULT = 1.5; var FACTORY_UPGRADE_MULT = 1.5; // --- UI Elements --- var moneyBtn = new MoneyBtn(); moneyBtn.x = 2048 / 2; moneyBtn.y = 1100; game.addChild(moneyBtn); var moneyTxt = new Text2('', { size: 180, fill: "#fff" }); moneyTxt.anchor.set(0.5, 0); LK.gui.top.addChild(moneyTxt); var highScoreTxt = new Text2('', { size: 80, fill: 0xFFD700 }); highScoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(highScoreTxt); highScoreTxt.y = 180; // --- Farm Section --- var farmIcon = LK.getAsset('farmIcon', { anchorX: 0.5, anchorY: 0.5 }); farmIcon.x = 600; farmIcon.y = 1800; game.addChild(farmIcon); var farmCountTxt = new Text2('', { size: 100, fill: "#fff" }); farmCountTxt.anchor.set(0.5, 0.5); farmCountTxt.x = farmIcon.x; farmCountTxt.y = farmIcon.y + 160; game.addChild(farmCountTxt); var farmBuyBtn = new UpgradeBtn(); farmBuyBtn.x = farmIcon.x; farmBuyBtn.y = farmIcon.y + 380; game.addChild(farmBuyBtn); var farmBuyTxt = new Text2('', { size: 70, fill: "#fff" }); farmBuyTxt.anchor.set(0.5, 0.5); farmBuyTxt.x = farmBuyBtn.x; farmBuyTxt.y = farmBuyBtn.y; game.addChild(farmBuyTxt); var farmUpgradeBtn = new UpgradeBtn(); farmUpgradeBtn.x = farmIcon.x; farmUpgradeBtn.y = farmBuyBtn.y + 160; game.addChild(farmUpgradeBtn); var farmUpgradeTxt = new Text2('', { size: 60, fill: "#fff" }); farmUpgradeTxt.anchor.set(0.5, 0.5); farmUpgradeTxt.x = farmUpgradeBtn.x; farmUpgradeTxt.y = farmUpgradeBtn.y; game.addChild(farmUpgradeTxt); // --- Factory Section --- var factoryIcon = LK.getAsset('factoryIcon', { anchorX: 0.5, anchorY: 0.5 }); factoryIcon.x = 1448; factoryIcon.y = 1800; game.addChild(factoryIcon); var factoryCountTxt = new Text2('', { size: 100, fill: "#fff" }); factoryCountTxt.anchor.set(0.5, 0.5); factoryCountTxt.x = factoryIcon.x; factoryCountTxt.y = factoryIcon.y + 160; game.addChild(factoryCountTxt); var factoryBuyBtn = new UpgradeBtn(); factoryBuyBtn.x = factoryIcon.x; factoryBuyBtn.y = factoryIcon.y + 380; game.addChild(factoryBuyBtn); var factoryBuyTxt = new Text2('', { size: 70, fill: "#fff" }); factoryBuyTxt.anchor.set(0.5, 0.5); factoryBuyTxt.x = factoryBuyBtn.x; factoryBuyTxt.y = factoryBuyBtn.y; game.addChild(factoryBuyTxt); var factoryUpgradeBtn = new UpgradeBtn(); factoryUpgradeBtn.x = factoryIcon.x; factoryUpgradeBtn.y = factoryBuyBtn.y + 160; game.addChild(factoryUpgradeBtn); var factoryUpgradeTxt = new Text2('', { size: 60, fill: "#fff" }); factoryUpgradeTxt.anchor.set(0.5, 0.5); factoryUpgradeTxt.x = factoryUpgradeBtn.x; factoryUpgradeTxt.y = factoryUpgradeBtn.y; game.addChild(factoryUpgradeTxt); // --- Helper Functions --- function formatMoney(val) { if (val >= 1e9) return (val / 1e9).toFixed(2) + "B"; if (val >= 1e6) return (val / 1e6).toFixed(2) + "M"; if (val >= 1e3) return (val / 1e3).toFixed(2) + "K"; return Math.floor(val) + ""; } function getFarmCost() { return Math.floor(FARM_BASE_COST * Math.pow(1.15, farmCount)); } function getFactoryCost() { return Math.floor(FACTORY_BASE_COST * Math.pow(1.18, factoryCount)); } function getFarmIncome() { return farmCount * FARM_BASE_INCOME * farmLevel; } function getFactoryIncome() { return factoryCount * FACTORY_BASE_INCOME * factoryLevel; } function getFarmUpgradeCost() { return Math.floor(FARM_UPGRADE_COST * Math.pow(FARM_UPGRADE_MULT, farmLevel - 1)); } function getFactoryUpgradeCost() { return Math.floor(FACTORY_UPGRADE_COST * Math.pow(FACTORY_UPGRADE_MULT, factoryLevel - 1)); } function saveState() { storage.money = money; storage.farmCount = farmCount; storage.factoryCount = factoryCount; storage.farmLevel = farmLevel; storage.factoryLevel = factoryLevel; if (money > highScore) { highScore = money; storage.highScore = highScore; } } // --- UI Update --- function updateUI() { moneyTxt.setText("Money: $" + formatMoney(money)); highScoreTxt.setText("High Score: $" + formatMoney(highScore)); farmCountTxt.setText("Farms: " + farmCount + "\nIncome: $" + formatMoney(getFarmIncome()) + "/s"); farmBuyTxt.setText("Buy Farm\n$" + formatMoney(getFarmCost())); farmUpgradeTxt.setText("Upgrade Farm\nLvl " + farmLevel + " ($" + formatMoney(getFarmUpgradeCost()) + ")"); factoryCountTxt.setText("Factories: " + factoryCount + "\nIncome: $" + formatMoney(getFactoryIncome()) + "/s"); factoryBuyTxt.setText("Buy Factory\n$" + formatMoney(getFactoryCost())); factoryUpgradeTxt.setText("Upgrade Factory\nLvl " + factoryLevel + " ($" + formatMoney(getFactoryUpgradeCost()) + ")"); } // --- Money Button Tap --- moneyBtn.down = function (x, y, obj) { var add = 1 + farmLevel + factoryLevel; money += add; if (money > highScore) { highScore = money; storage.highScore = highScore; } moneyBtn.tapAnim(); updateUI(); saveState(); }; // --- Farm Buy --- farmBuyBtn.down = function (x, y, obj) { var cost = getFarmCost(); if (money >= cost) { money -= cost; farmCount += 1; updateUI(); saveState(); // Animate farm icon tween(farmIcon, { scaleX: 1.2, scaleY: 1.2 }, { duration: 100, onFinish: function onFinish() { tween(farmIcon, { scaleX: 1, scaleY: 1 }, { duration: 120 }); } }); } }; // --- Farm Upgrade --- farmUpgradeBtn.down = function (x, y, obj) { var cost = getFarmUpgradeCost(); if (money >= cost) { money -= cost; farmLevel += 1; updateUI(); saveState(); // Animate farm icon tween(farmIcon, { tint: 0xA5D6A7 }, { duration: 200, onFinish: function onFinish() { tween(farmIcon, { tint: 0x4CAF50 }, { duration: 200 }); } }); } }; // --- Factory Buy --- factoryBuyBtn.down = function (x, y, obj) { var cost = getFactoryCost(); if (money >= cost) { money -= cost; factoryCount += 1; updateUI(); saveState(); // Animate factory icon tween(factoryIcon, { scaleX: 1.2, scaleY: 1.2 }, { duration: 100, onFinish: function onFinish() { tween(factoryIcon, { scaleX: 1, scaleY: 1 }, { duration: 120 }); } }); } }; // --- Factory Upgrade --- factoryUpgradeBtn.down = function (x, y, obj) { var cost = getFactoryUpgradeCost(); if (money >= cost) { money -= cost; factoryLevel += 1; updateUI(); saveState(); // Animate factory icon tween(factoryIcon, { tint: 0x90CAF9 }, { duration: 200, onFinish: function onFinish() { tween(factoryIcon, { tint: 0x2196F3 }, { duration: 200 }); } }); } }; // --- Passive Income Timer --- var incomeTimer = LK.setInterval(function () { var farmIncome = getFarmIncome() / 10; // 10x per second var factoryIncome = getFactoryIncome() / 10; var total = farmIncome + factoryIncome; if (total > 0) { money += total; if (money > highScore) { highScore = money; storage.highScore = highScore; } updateUI(); saveState(); } }, 100); // --- Save every 5 seconds for redundancy --- var saveTimer = LK.setInterval(function () { saveState(); }, 5000); // --- Initial UI Update --- updateUI();
===================================================================
--- original.js
+++ change.js
@@ -61,13 +61,13 @@
/****
* Game Code
****/
-// Upgrade button
-// Money Factory icon
-// Money Farm icon
-// Money icon (main tap button)
// --- Persistent State ---
+// Money icon (main tap button)
+// Money Farm icon
+// Money Factory icon
+// Upgrade button
var money = storage.money || 0;
var farmCount = storage.farmCount || 0;
var factoryCount = storage.factoryCount || 0;
var farmLevel = storage.farmLevel || 1;
@@ -87,20 +87,20 @@
moneyBtn.x = 2048 / 2;
moneyBtn.y = 1100;
game.addChild(moneyBtn);
var moneyTxt = new Text2('', {
- size: 120,
+ size: 180,
fill: "#fff"
});
moneyTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(moneyTxt);
var highScoreTxt = new Text2('', {
- size: 48,
+ size: 80,
fill: 0xFFD700
});
highScoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(highScoreTxt);
-highScoreTxt.y = 120;
+highScoreTxt.y = 180;
// --- Farm Section ---
var farmIcon = LK.getAsset('farmIcon', {
anchorX: 0.5,
anchorY: 0.5
@@ -108,33 +108,33 @@
farmIcon.x = 600;
farmIcon.y = 1800;
game.addChild(farmIcon);
var farmCountTxt = new Text2('', {
- size: 60,
+ size: 100,
fill: "#fff"
});
farmCountTxt.anchor.set(0.5, 0.5);
farmCountTxt.x = farmIcon.x;
-farmCountTxt.y = farmIcon.y + 120;
+farmCountTxt.y = farmIcon.y + 160;
game.addChild(farmCountTxt);
var farmBuyBtn = new UpgradeBtn();
farmBuyBtn.x = farmIcon.x;
-farmBuyBtn.y = farmIcon.y + 300;
+farmBuyBtn.y = farmIcon.y + 380;
game.addChild(farmBuyBtn);
var farmBuyTxt = new Text2('', {
- size: 44,
+ size: 70,
fill: "#fff"
});
farmBuyTxt.anchor.set(0.5, 0.5);
farmBuyTxt.x = farmBuyBtn.x;
farmBuyTxt.y = farmBuyBtn.y;
game.addChild(farmBuyTxt);
var farmUpgradeBtn = new UpgradeBtn();
farmUpgradeBtn.x = farmIcon.x;
-farmUpgradeBtn.y = farmBuyBtn.y + 120;
+farmUpgradeBtn.y = farmBuyBtn.y + 160;
game.addChild(farmUpgradeBtn);
var farmUpgradeTxt = new Text2('', {
- size: 38,
+ size: 60,
fill: "#fff"
});
farmUpgradeTxt.anchor.set(0.5, 0.5);
farmUpgradeTxt.x = farmUpgradeBtn.x;
@@ -148,33 +148,33 @@
factoryIcon.x = 1448;
factoryIcon.y = 1800;
game.addChild(factoryIcon);
var factoryCountTxt = new Text2('', {
- size: 60,
+ size: 100,
fill: "#fff"
});
factoryCountTxt.anchor.set(0.5, 0.5);
factoryCountTxt.x = factoryIcon.x;
-factoryCountTxt.y = factoryIcon.y + 120;
+factoryCountTxt.y = factoryIcon.y + 160;
game.addChild(factoryCountTxt);
var factoryBuyBtn = new UpgradeBtn();
factoryBuyBtn.x = factoryIcon.x;
-factoryBuyBtn.y = factoryIcon.y + 300;
+factoryBuyBtn.y = factoryIcon.y + 380;
game.addChild(factoryBuyBtn);
var factoryBuyTxt = new Text2('', {
- size: 44,
+ size: 70,
fill: "#fff"
});
factoryBuyTxt.anchor.set(0.5, 0.5);
factoryBuyTxt.x = factoryBuyBtn.x;
factoryBuyTxt.y = factoryBuyBtn.y;
game.addChild(factoryBuyTxt);
var factoryUpgradeBtn = new UpgradeBtn();
factoryUpgradeBtn.x = factoryIcon.x;
-factoryUpgradeBtn.y = factoryBuyBtn.y + 120;
+factoryUpgradeBtn.y = factoryBuyBtn.y + 160;
game.addChild(factoryUpgradeBtn);
var factoryUpgradeTxt = new Text2('', {
- size: 38,
+ size: 60,
fill: "#fff"
});
factoryUpgradeTxt.anchor.set(0.5, 0.5);
factoryUpgradeTxt.x = factoryUpgradeBtn.x;