User prompt
haz un boton para desactivar la musica
User prompt
haz un fondo que vaya cambiando ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
musica de fondo
User prompt
haz que los potenciadores esten siempre donde el principio
User prompt
HAZ QU ELOS POWER UPS ESTEN ORDENADOS POR CUANTO CUESTAN
User prompt
HAZ QUE HALLA UN BOTON PARAA REINICIAR LA PARTIDA ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
AUMENTA EL LIMITE A 1.000.000.000.000
User prompt
HAZ QUE HALLA UN MAXIMO DE PUNTOS Y DE PUNTOS
User prompt
HAZ QUE AL VOLVER A CARGAR EL juego EMPIECES DESDE EL JUEG ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
SEPARA LOS BOTONES
User prompt
SEPARA LOS BOTONES
User prompt
CAMBIA LOS POWER UOPS Y HAZ MAS
User prompt
SEPARA LOS BOTONES Y ABAJOS DE LOS PUNTOS PON UN CPS
User prompt
HAZ MAS GRANDE LOS REC
Code edit (1 edits merged)
Please save this source code
User prompt
Red Button Clicker
Initial prompt
HAZ UN juego EN EL QUE TENGAS QUE TOCAR UN BOTON ROJO Y QUE TE DE PUNTOS Y CON ESOS PUNTOS PUEDES RECLAMAR BONOS PARA TENER MAS PUNTOS
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var RedButton = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('redButton', { anchorX: 0.5, anchorY: 0.5 }); self.down = function (x, y, obj) { // Track click for CPS calculation var currentTime = Date.now(); clickTimes.push(currentTime); // Keep only clicks from the last second clickTimes = clickTimes.filter(function (time) { return currentTime - time <= 1000; }); updateCPSDisplay(); // Button press animation tween(buttonGraphics, { scaleX: 0.9, scaleY: 0.9 }, { duration: 100 }); tween(buttonGraphics, { scaleX: 1.0, scaleY: 1.0 }, { duration: 100 }); // Add points based on multiplier var pointsToAdd = 1 * pointMultiplier; totalPoints += pointsToAdd; // Cap points at maximum if (totalPoints > maxPoints) { totalPoints = maxPoints; } // Update displays updateScoreDisplay(); updateUpgradeButtons(); // Play click sound LK.getSound('click').play(); // Show floating points animation showFloatingPoints(pointsToAdd, self.x, self.y - 100); }; return self; }); var UpgradeButton = Container.expand(function (upgradeType, price, description) { var self = Container.call(this); var buttonBg = self.attachAsset('upgradeButton', { anchorX: 0.5, anchorY: 0.5 }); var buttonText = new Text2(description + '\nCost: ' + price, { size: 45, fill: 0xFFFFFF }); buttonText.anchor.set(0.5, 0.5); self.addChild(buttonText); self.upgradeType = upgradeType; self.price = price; self.description = description; self.updateDisplay = function () { buttonText.setText(self.description + '\nCost: ' + self.price); // Disable button if not enough points if (totalPoints < self.price) { buttonBg.alpha = 0.5; buttonText.alpha = 0.5; } else { buttonBg.alpha = 1.0; buttonText.alpha = 1.0; } }; self.down = function (x, y, obj) { if (totalPoints >= self.price) { // Purchase upgrade totalPoints -= self.price; // Apply upgrade effect if (self.upgradeType === 'multiplier2x') { pointMultiplier *= 2; self.price = Math.floor(self.price * 2.5); } else if (self.upgradeType === 'multiplier5x') { pointMultiplier *= 5; self.price = Math.floor(self.price * 3); } else if (self.upgradeType === 'multiplier10x') { pointMultiplier *= 10; self.price = Math.floor(self.price * 4); } else if (self.upgradeType === 'autoClicker') { autoClickerLevel++; self.price = Math.floor(self.price * 2); self.description = 'Auto Clicker Lv.' + autoClickerLevel; if (autoClickerLevel === 1) { startAutoClicker(); } } else if (self.upgradeType === 'clickStorm') { clickStormLevel++; self.price = Math.floor(self.price * 3); self.description = 'Click Storm Lv.' + clickStormLevel; activateClickStorm(); } else if (self.upgradeType === 'goldenTouch') { goldenTouchLevel++; self.price = Math.floor(self.price * 4); self.description = 'Golden Touch Lv.' + goldenTouchLevel; activateGoldenTouch(); } else if (self.upgradeType === 'megaBoost') { megaBoostLevel++; self.price = Math.floor(self.price * 5); self.description = 'Mega Boost Lv.' + megaBoostLevel; activateMegaBoost(); } else if (self.upgradeType === 'superAuto') { superAutoLevel++; self.price = Math.floor(self.price * 6); self.description = 'Super Auto Lv.' + superAutoLevel; upgradeSuperAuto(); } // Update displays updateScoreDisplay(); updateUpgradeButtons(); // Play purchase sound LK.getSound('purchase').play(); // Save progress saveProgress(); } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x2c3e50 }); /**** * Game Code ****/ // Game variables var totalPoints = storage.totalPoints || 0; var maxPoints = storage.maxPoints || 1000000000000; // Maximum points cap var pointMultiplier = storage.pointMultiplier || 1; var autoClickerLevel = storage.autoClickerLevel || 0; var clickStormLevel = storage.clickStormLevel || 0; var goldenTouchLevel = storage.goldenTouchLevel || 0; var megaBoostLevel = storage.megaBoostLevel || 0; var superAutoLevel = storage.superAutoLevel || 0; var clicksPerSecond = 0; var clickTimes = []; var stormActive = false; var goldenActive = false; var megaActive = false; // UI elements var scoreText; var cpsText; var redButton; var upgradeButtons = []; var floatingTexts = []; // Create main red button redButton = game.addChild(new RedButton()); redButton.x = 2048 / 2; redButton.y = 2732 / 2 - 200; // Create score display scoreText = new Text2('Points: ' + totalPoints, { size: 80, fill: 0xFFFFFF }); scoreText.anchor.set(0.5, 0); LK.gui.top.addChild(scoreText); scoreText.y = 100; // Create CPS display cpsText = new Text2('CPS: 0', { size: 60, fill: 0xFFFF00 }); cpsText.anchor.set(0.5, 0); LK.gui.top.addChild(cpsText); cpsText.y = 200; // Create upgrade buttons with more variety var upgrade2x = game.addChild(new UpgradeButton('multiplier2x', 10, '2x Multiplier')); upgrade2x.x = 2048 / 2 - 650; upgrade2x.y = 2732 / 2 + 350; var upgrade5x = game.addChild(new UpgradeButton('multiplier5x', 100, '5x Multiplier')); upgrade5x.x = 2048 / 2; upgrade5x.y = 2732 / 2 + 350; var upgrade10x = game.addChild(new UpgradeButton('multiplier10x', 500, '10x Multiplier')); upgrade10x.x = 2048 / 2 + 650; upgrade10x.y = 2732 / 2 + 350; var upgradeAuto = game.addChild(new UpgradeButton('autoClicker', 50, 'Auto Clicker')); upgradeAuto.x = 2048 / 2 - 650; upgradeAuto.y = 2732 / 2 + 550; var upgradeStorm = game.addChild(new UpgradeButton('clickStorm', 200, 'Click Storm')); upgradeStorm.x = 2048 / 2; upgradeStorm.y = 2732 / 2 + 550; var upgradeGolden = game.addChild(new UpgradeButton('goldenTouch', 1000, 'Golden Touch')); upgradeGolden.x = 2048 / 2 + 650; upgradeGolden.y = 2732 / 2 + 550; var upgradeMega = game.addChild(new UpgradeButton('megaBoost', 2500, 'Mega Boost')); upgradeMega.x = 2048 / 2 - 400; upgradeMega.y = 2732 / 2 + 750; var upgradeSuper = game.addChild(new UpgradeButton('superAuto', 5000, 'Super Auto')); upgradeSuper.x = 2048 / 2 + 400; upgradeSuper.y = 2732 / 2 + 750; upgradeButtons.push(upgrade2x); upgradeButtons.push(upgrade5x); upgradeButtons.push(upgrade10x); upgradeButtons.push(upgradeAuto); upgradeButtons.push(upgradeStorm); upgradeButtons.push(upgradeGolden); upgradeButtons.push(upgradeMega); upgradeButtons.push(upgradeSuper); // Load saved upgrade prices if (storage.upgrade2xPrice) upgrade2x.price = storage.upgrade2xPrice; if (storage.upgrade5xPrice) upgrade5x.price = storage.upgrade5xPrice; if (storage.upgrade10xPrice) upgrade10x.price = storage.upgrade10xPrice; if (storage.upgradeAutoPrice) upgradeAuto.price = storage.upgradeAutoPrice; if (storage.upgradeStormPrice) upgradeStorm.price = storage.upgradeStormPrice; if (storage.upgradeGoldenPrice) upgradeGolden.price = storage.upgradeGoldenPrice; if (storage.upgradeMegaPrice) upgradeMega.price = storage.upgradeMegaPrice; if (storage.upgradeSuperPrice) upgradeSuper.price = storage.upgradeSuperPrice; // Update upgrade button descriptions to show current levels if (autoClickerLevel > 0) { upgradeAuto.description = 'Auto Clicker Lv.' + autoClickerLevel; } if (clickStormLevel > 0) { upgradeStorm.description = 'Click Storm Lv.' + clickStormLevel; } if (goldenTouchLevel > 0) { upgradeGolden.description = 'Golden Touch Lv.' + goldenTouchLevel; } if (megaBoostLevel > 0) { upgradeMega.description = 'Mega Boost Lv.' + megaBoostLevel; } if (superAutoLevel > 0) { upgradeSuper.description = 'Super Auto Lv.' + superAutoLevel; } // Auto clicker functionality var autoClickerTimer; function startAutoClicker() { if (autoClickerTimer) { LK.clearInterval(autoClickerTimer); } var clickSpeed = 1000 - superAutoLevel * 200; // Faster with super auto if (clickSpeed < 100) clickSpeed = 100; // Minimum 100ms autoClickerTimer = LK.setInterval(function () { if (autoClickerLevel > 0) { var pointsToAdd = (autoClickerLevel + superAutoLevel * 2) * pointMultiplier; totalPoints += pointsToAdd; // Cap points at maximum if (totalPoints > maxPoints) { totalPoints = maxPoints; } updateScoreDisplay(); updateUpgradeButtons(); showFloatingPoints(pointsToAdd, redButton.x + 200, redButton.y); } }, clickSpeed); } // Start auto clicker if player already has it if (autoClickerLevel > 0) { startAutoClicker(); } function updateScoreDisplay() { scoreText.setText('Points: ' + totalPoints + ' / ' + maxPoints); LK.setScore(totalPoints); } function updateCPSDisplay() { clicksPerSecond = clickTimes.length; cpsText.setText('CPS: ' + clicksPerSecond); } function updateUpgradeButtons() { for (var i = 0; i < upgradeButtons.length; i++) { upgradeButtons[i].updateDisplay(); } } function showFloatingPoints(points, x, y) { var floatingText = new Text2('+' + points, { size: 50, fill: 0x00FF00 }); floatingText.anchor.set(0.5, 0.5); floatingText.x = x; floatingText.y = y; game.addChild(floatingText); // Animate floating text tween(floatingText, { y: y - 100, alpha: 0 }, { duration: 1000, onFinish: function onFinish() { floatingText.destroy(); } }); } function activateClickStorm() { if (stormActive) return; stormActive = true; // Visual effect - change button color to blue var buttonGraphics = redButton.children[0]; tween(buttonGraphics, { tint: 0x00FFFF }, { duration: 200 }); // Auto-click rapidly for 10 seconds var stormTimer = LK.setInterval(function () { var pointsToAdd = clickStormLevel * pointMultiplier; totalPoints += pointsToAdd; // Cap points at maximum if (totalPoints > maxPoints) { totalPoints = maxPoints; } updateScoreDisplay(); updateUpgradeButtons(); showFloatingPoints(pointsToAdd, redButton.x - 150, redButton.y); }, 100); // Stop storm after 10 seconds LK.setTimeout(function () { LK.clearInterval(stormTimer); stormActive = false; tween(buttonGraphics, { tint: 0xFFFFFF }, { duration: 500 }); }, 10000); } function activateGoldenTouch() { if (goldenActive) return; goldenActive = true; // Visual effect - change button color to gold var buttonGraphics = redButton.children[0]; tween(buttonGraphics, { tint: 0xFFD700 }, { duration: 200 }); // Multiply all points by golden level for 15 seconds var originalMultiplier = pointMultiplier; pointMultiplier *= goldenTouchLevel * 3; LK.setTimeout(function () { pointMultiplier = originalMultiplier; goldenActive = false; tween(buttonGraphics, { tint: 0xFFFFFF }, { duration: 500 }); }, 15000); } function activateMegaBoost() { if (megaActive) return; megaActive = true; // Visual effect - make button bigger and purple var buttonGraphics = redButton.children[0]; tween(buttonGraphics, { scaleX: 1.5, scaleY: 1.5, tint: 0xFF00FF }, { duration: 300 }); // Massive point boost for next 20 clicks var megaClicks = 20; var originalDown = redButton.down; redButton.down = function (x, y, obj) { if (megaClicks > 0) { megaClicks--; var pointsToAdd = megaBoostLevel * 100 * pointMultiplier; totalPoints += pointsToAdd; // Cap points at maximum if (totalPoints > maxPoints) { totalPoints = maxPoints; } updateScoreDisplay(); updateUpgradeButtons(); showFloatingPoints(pointsToAdd, redButton.x, redButton.y - 100); LK.getSound('click').play(); if (megaClicks <= 0) { redButton.down = originalDown; megaActive = false; tween(buttonGraphics, { scaleX: 1.0, scaleY: 1.0, tint: 0xFFFFFF }, { duration: 500 }); } } else { originalDown.call(this, x, y, obj); } }; } function upgradeSuperAuto() { // Increase auto clicker speed and effectiveness if (autoClickerTimer) { LK.clearInterval(autoClickerTimer); } startAutoClicker(); } function saveProgress() { storage.totalPoints = totalPoints; storage.maxPoints = maxPoints; storage.pointMultiplier = pointMultiplier; storage.autoClickerLevel = autoClickerLevel; storage.clickStormLevel = clickStormLevel; storage.goldenTouchLevel = goldenTouchLevel; storage.megaBoostLevel = megaBoostLevel; storage.superAutoLevel = superAutoLevel; storage.upgrade2xPrice = upgrade2x.price; storage.upgrade5xPrice = upgrade5x.price; storage.upgrade10xPrice = upgrade10x.price; storage.upgradeAutoPrice = upgradeAuto.price; storage.upgradeStormPrice = upgradeStorm.price; storage.upgradeGoldenPrice = upgradeGolden.price; storage.upgradeMegaPrice = upgradeMega.price; storage.upgradeSuperPrice = upgradeSuper.price; } // Initialize displays updateScoreDisplay(); updateUpgradeButtons(); // Auto-save every 5 seconds LK.setInterval(function () { saveProgress(); }, 5000); // Update CPS every 100ms to keep it current LK.setInterval(function () { var currentTime = Date.now(); clickTimes = clickTimes.filter(function (time) { return currentTime - time <= 1000; }); updateCPSDisplay(); }, 100); game.update = function () { // Clean up destroyed floating texts for (var i = floatingTexts.length - 1; i >= 0; i--) { if (floatingTexts[i].destroyed) { floatingTexts.splice(i, 1); } } };
===================================================================
--- original.js
+++ change.js
@@ -143,9 +143,9 @@
* Game Code
****/
// Game variables
var totalPoints = storage.totalPoints || 0;
-var maxPoints = storage.maxPoints || 1000000; // Maximum points cap
+var maxPoints = storage.maxPoints || 1000000000000; // Maximum points cap
var pointMultiplier = storage.pointMultiplier || 1;
var autoClickerLevel = storage.autoClickerLevel || 0;
var clickStormLevel = storage.clickStormLevel || 0;
var goldenTouchLevel = storage.goldenTouchLevel || 0;