Code edit (1 edits merged)
Please save this source code
User prompt
ipucuya tıklayıp aldığımız harfler kaybolmasın asla ve rengi farklı olsun kaldıramayalım
User prompt
Arabalar kısmına Lamborghini ekle.
User prompt
Araba kısmına Tesla ekle.
User prompt
Instagram ile ilgili ne var bilmiyorum ama Instagram'ın tüm her şeyini sil ve tekrar baştan yap gözükmüyor.
User prompt
Teknoloji kısmına Instagram ekle.
User prompt
Futbol kısmına Galatasaray'a gidelim.
User prompt
Futbola Bayern Münih ekle.
User prompt
tamamladığımız ııı bu macaların altında tamamlandı ve tek şeyi var ya onun da altında artı on olsun. Yani ne kadar kazanıyorsak işte o kadar altın kazandın anlamına gelmesi için.
User prompt
Burger King yazısında Burger ve King arasında ayrım olsun yani bir boşluk olsun yazı olarak.
User prompt
Yemek kısmına Burger King ekle.
User prompt
Tüm verileri silince sadece yaptığımız ve bulduğumuz bulmacalar silinsin, paramız sıfırlanmasın. ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Teknoloji kısmına bu sefer TikTok ekle.
User prompt
Logo oluşturmuyor musun? Instagram için. Oluştursana.
User prompt
gözükmek değil. Sen direkt Instagram logosunu teknoloji kısmına koymamışsın.
User prompt
eklediğin instagram gözükmüyor teknoloji kısmında
User prompt
Teknolojiyle ilgili olan logoların yerine Instagram'ı da ekle.
User prompt
Bu harflerin bazen gözükmemesi ile ilgili hatalar var.
User prompt
tüm verileri sil düğmesine basınca silmek istediğinden emin misin gibi bir soru sorsun evet veya hayır düğmeleri olsun seçelim ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Ayarlar düğmesini birazcık aşağıya al ve boyutunu büyüt, sembol de ekle.
User prompt
Hayır ayarlar düğmesi çok büyük sadece ayarlar gibi hani böyle yuvarlak bir logo olsun ve bizim para biriminin altında olsun
User prompt
Ayarlar Düğmesini Öyle Menü Seçtiğimiz Gibi Olmasın Da Sağ Tarafta Altının Altında Olsun
User prompt
ilk oyuna girdiğimizde çıkan menüde ayarlar kısmı olsun oradan tüm herşeyi sıfırla verileri sil gibi bir düğme olsun ona basınca hiçbirşey yapılmamı�� gibi olsun yani herşey silinsin baştan başlayalım ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
bildiğimiz ve bitirdiğimiz şeylere bile tıklayalım yaptığımız mesela tıkladığımızda yaptıysak onun ismi yapılmış şekilde gözüksün
User prompt
Yemek kısmına dominoz ekle.
/**** * Plugins ****/ var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var AnswerSlot = Container.expand(function (index) { var self = Container.call(this); var bg = self.attachAsset('answerBox', { anchorX: 0.5, anchorY: 0.5 }); self.index = index; self.occupiedLetter = null; return self; }); var CategoryButton = Container.expand(function (category) { var self = Container.call(this); var bg = self.attachAsset('categoryButton', { anchorX: 0.5, anchorY: 0.5 }); // Set background color based on category if (category === 'Cars') { bg.tint = 0x000000; // Black background for Cars (Arabalar) } else if (category === 'Food') { bg.tint = 0xFF0000; // Red background for Food (Yemekler) } else if (category === 'Football') { bg.tint = 0x00FF00; // Green background for Football (Futbol) } var text = new Text2(category, { size: 80, fill: 0xFFFFFF }); text.anchor.set(0.5, 0.5); self.addChild(text); self.category = category; self.down = function (x, y, obj) { self.scaleX = 0.95; self.scaleY = 0.95; showCategoryLogos(self.category); }; self.up = function (x, y, obj) { self.scaleX = 1; self.scaleY = 1; }; return self; }); var ExitButton = Container.expand(function () { var self = Container.call(this); var bg = self.attachAsset('exitButton', { anchorX: 0.5, anchorY: 0.5 }); var text = new Text2('Exit', { size: 50, fill: 0xFFFFFF }); text.anchor.set(0.5, 0.5); self.addChild(text); self.down = function (x, y, obj) { self.scaleX = 0.95; self.scaleY = 0.95; showCategoryLogos(currentCategory); }; self.up = function (x, y, obj) { self.scaleX = 1; self.scaleY = 1; }; return self; }); var HintButton = Container.expand(function () { var self = Container.call(this); var bg = self.attachAsset('hintButton', { anchorX: 0.5, anchorY: 0.5 }); var text = new Text2('Hint (5 coins)', { size: 50, fill: 0xFFFFFF }); text.anchor.set(0.5, 0.5); self.addChild(text); self.down = function (x, y, obj) { if (goldCoins >= 5) { useHint(); } }; return self; }); var LetterTile = Container.expand(function (letter) { var self = Container.call(this); var bg = self.attachAsset('letterTile', { anchorX: 0.5, anchorY: 0.5 }); var text = new Text2(letter, { size: 60, fill: 0x333333 }); text.anchor.set(0.5, 0.5); // Ensure text is visible and properly positioned text.x = 0; text.y = 0; text.alpha = 1; text.visible = true; self.addChild(text); self.letter = letter; self.originalX = 0; self.originalY = 0; self.isPlaced = false; self.targetSlot = null; // Store reference to text for easier access self.letterText = text; self.down = function (x, y, obj) { if (!self.isPlaced) { // Find next available answer slot var nextSlot = null; for (var i = 0; i < answerSlots.length; i++) { if (!answerSlots[i].occupiedLetter) { nextSlot = answerSlots[i]; break; } } if (nextSlot) { placeLetter(self, nextSlot); checkAnswer(); } } else { // Letter is placed, remove it from answer slot removeLetter(self); } }; return self; }); var LogoButton = Container.expand(function (logoName, logoData) { var self = Container.call(this); var bg = self.attachAsset('logoContainer', { anchorX: 0.5, anchorY: 0.5 }); // Get logo asset name from company name var logoAssetName = logoData.name.toLowerCase() + 'Logo'; if (logoData.name === 'Real Madrid') logoAssetName = 'realmadridLogo'; if (logoData.name === 'Manchester United') logoAssetName = 'manchesterLogo'; if (logoData.name === 'McDonalds') logoAssetName = 'mcdonaldsLogo'; if (logoData.name === 'Pizza Hut') logoAssetName = 'pizzahutLogo'; if (logoData.name === 'Instagram') logoAssetName = 'instagramLogo'; if (logoData.name === 'TikTok') logoAssetName = 'tiktokLogo'; var logoVisual = self.attachAsset(logoAssetName, { anchorX: 0.5, anchorY: 0.5, scaleX: 0.8, scaleY: 0.8 }); self.logoData = logoData; self.down = function (x, y, obj) { // Check if logo is completed var logoKey = currentCategory + '_' + self.logoData.name; if (completedLogos[logoKey]) { // Show completed logo name instead of starting the game showCompletedLogo(self.logoData); return; } self.scaleX = 0.95; self.scaleY = 0.95; startLogoGuess(self.logoData); }; self.up = function (x, y, obj) { self.scaleX = 1; self.scaleY = 1; }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x2C3E50 }); /**** * Game Code ****/ // Game state variables // Logo assets - Technology // Logo assets - Football // Logo assets - Cars // Logo assets - Food var gameState = 'menu'; // 'menu', 'category', 'guessing' var goldCoins = storage.goldCoins || 10; var completedLogos = storage.completedLogos || {}; var currentCategory = ''; var currentLogo = null; var draggedLetter = null; var letterTiles = []; var answerSlots = []; var currentAnswer = ''; // Logo data var logoDatabase = { 'Technology': [{ name: 'Apple', answer: 'APPLE' }, { name: 'Google', answer: 'GOOGLE' }, { name: 'Microsoft', answer: 'MICROSOFT' }, { name: 'Samsung', answer: 'SAMSUNG' }, { name: 'Instagram', answer: 'INSTAGRAM' }, { name: 'TikTok', answer: 'TIKTOK' }], 'Football': [{ name: 'Barcelona', answer: 'BARCELONA' }, { name: 'Real Madrid', answer: 'REALMADRID' }, { name: 'Liverpool', answer: 'LIVERPOOL' }, { name: 'Manchester United', answer: 'MANCHESTER' }, { name: 'Arsenal', answer: 'ARSENAL' }], 'Cars': [{ name: 'BMW', answer: 'BMW' }, { name: 'Mercedes', answer: 'MERCEDES' }, { name: 'Toyota', answer: 'TOYOTA' }, { name: 'Ferrari', answer: 'FERRARI' }, { name: 'Audi', answer: 'AUDI' }], 'Food': [{ name: 'McDonalds', answer: 'MCDONALDS' }, { name: 'KFC', answer: 'KFC' }, { name: 'Subway', answer: 'SUBWAY' }, { name: 'Pizza Hut', answer: 'PIZZAHUT' }, { name: 'Starbucks', answer: 'STARBUCKS' }, { name: 'Dominos', answer: 'DOMINOS' }] }; // UI Elements var coinDisplay; var backButton; function initializeMenu() { game.removeChildren(); gameState = 'menu'; // Title var title = new Text2('Logo Quiz Challenge', { size: 120, fill: 0xFFFFFF }); title.anchor.set(0.5, 0.5); title.x = 1024; title.y = 500; game.addChild(title); // Category buttons var categories = ['Technology', 'Football', 'Cars', 'Food']; for (var i = 0; i < categories.length; i++) { var button = new CategoryButton(categories[i]); button.x = 1024; button.y = 800 + i * 220; game.addChild(button); } // Settings icon - larger circular button below coin display var settingsIcon = LK.getAsset('settingsIcon', { anchorX: 0.5, anchorY: 0.5, scaleX: 1.0, scaleY: 1.0 }); settingsIcon.x = 1848; // Same X position as coin display settingsIcon.y = 320; // Further below coin display settingsIcon.down = function (x, y, obj) { settingsIcon.scaleX = 0.95; settingsIcon.scaleY = 0.95; showSettings(); }; settingsIcon.up = function (x, y, obj) { settingsIcon.scaleX = 1.0; settingsIcon.scaleY = 1.0; }; game.addChild(settingsIcon); // Add gear symbol text on top of settings icon var gearSymbol = new Text2('⚙', { size: 60, fill: 0xFFFFFF }); gearSymbol.anchor.set(0.5, 0.5); gearSymbol.x = 1848; gearSymbol.y = 320; game.addChild(gearSymbol); updateCoinDisplay(); } function showCategoryLogos(category) { game.removeChildren(); gameState = 'category'; currentCategory = category; // Category title var title = new Text2(category + ' Logos', { size: 100, fill: 0xFFFFFF }); title.anchor.set(0.5, 0.5); title.x = 1024; title.y = 400; game.addChild(title); // Logo buttons - filter out completed logos var logos = logoDatabase[category]; var availableLogos = []; for (var i = 0; i < logos.length; i++) { var logoKey = category + '_' + logos[i].name; if (!completedLogos[logoKey]) { availableLogos.push(logos[i]); } } var cols = 3; var startX = 1024 - (cols - 1) * 250; var startY = 700; // Show all logos with completion status var allLogos = logoDatabase[category]; for (var i = 0; i < allLogos.length; i++) { var logoButton = new LogoButton(allLogos[i].name + 'Logo', allLogos[i]); logoButton.x = startX + i % cols * 500; logoButton.y = startY + Math.floor(i / cols) * 450; game.addChild(logoButton); // Check if this logo is completed and add checkmark var logoKey = category + '_' + allLogos[i].name; if (completedLogos[logoKey]) { var checkmark = logoButton.attachAsset('checkmark', { anchorX: 0.5, anchorY: 0.5, scaleX: 0.8, scaleY: 0.8 }); checkmark.x = 150; // Position in top-right corner of logo button checkmark.y = -150; } } // Exit button var exitBtn = new ExitButton(); exitBtn.x = 1848; // Position in top right area, below coins exitBtn.y = 350; // Further below the coin display exitBtn.down = function (x, y, obj) { exitBtn.scaleX = 0.95; exitBtn.scaleY = 0.95; initializeMenu(); // Return to main menu instead of category }; exitBtn.up = function (x, y, obj) { exitBtn.scaleX = 1; exitBtn.scaleY = 1; }; game.addChild(exitBtn); updateCoinDisplay(); } function startLogoGuess(logoData) { game.removeChildren(); gameState = 'guessing'; currentLogo = logoData; letterTiles = []; answerSlots = []; // Logo display area - larger and more prominent visual logo var logoAssetName = logoData.name.toLowerCase() + 'Logo'; if (logoData.name === 'Real Madrid') logoAssetName = 'realmadridLogo'; if (logoData.name === 'Manchester United') logoAssetName = 'manchesterLogo'; if (logoData.name === 'McDonalds') logoAssetName = 'mcdonaldsLogo'; if (logoData.name === 'Pizza Hut') logoAssetName = 'pizzahutLogo'; if (logoData.name === 'Instagram') logoAssetName = 'instagramLogo'; if (logoData.name === 'TikTok') logoAssetName = 'tiktokLogo'; var logoVisual = LK.getAsset(logoAssetName, { anchorX: 0.5, anchorY: 0.5, scaleX: 1.5, scaleY: 1.5 }); logoVisual.x = 1024; logoVisual.y = 500; game.addChild(logoVisual); // Create answer slots var answerLength = logoData.answer.length; var slotSpacing = 140; var startX = 1024 - (answerLength - 1) * slotSpacing / 2; for (var i = 0; i < answerLength; i++) { var slot = new AnswerSlot(i); slot.x = startX + i * slotSpacing; slot.y = 900; answerSlots.push(slot); game.addChild(slot); } // Create letter tiles createLetterTiles(logoData.answer); // Hint button var hintBtn = new HintButton(); hintBtn.x = 1024; hintBtn.y = 1200; game.addChild(hintBtn); // Exit button var exitBtn = new ExitButton(); exitBtn.x = 1848; // Position in top right area, below coins exitBtn.y = 350; // Further below the coin display game.addChild(exitBtn); updateCoinDisplay(); } function createLetterTiles(answer) { var letters = answer.split(''); var decoyLetters = ['X', 'Z', 'Q', 'J', 'K', 'W', 'V', 'Y', 'H', 'P', 'C', 'U', 'N', 'D', 'F']; var allLetters = letters.slice(); // Copy answer letters // Add decoy letters to reach exactly 15 total letters var decoyCount = 15 - letters.length; if (decoyCount > 0) { // Add decoy letters, cycling through the decoy array if needed for (var d = 0; d < decoyCount; d++) { allLetters.push(decoyLetters[d % decoyLetters.length]); } } // If answer is longer than 15, just use the first 15 letters if (allLetters.length > 15) { allLetters = allLetters.slice(0, 15); } // Shuffle letters for (var i = allLetters.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var temp = allLetters[i]; allLetters[i] = allLetters[j]; allLetters[j] = temp; } // Create tiles var cols = 5; var startX = 1024 - (cols - 1) * 80; var startY = 1450; for (var i = 0; i < allLetters.length; i++) { var tile = new LetterTile(allLetters[i]); tile.x = startX + i % cols * 160; tile.y = startY + Math.floor(i / cols) * 160; // Store original position for reset functionality tile.originalX = tile.x; tile.originalY = tile.y; // Ensure tile is visible tile.alpha = 1; tile.visible = true; letterTiles.push(tile); game.addChild(tile); } } function createBackButton() { // Back button functionality removed } function updateCoinDisplay() { if (coinDisplay) { coinDisplay.parent.removeChild(coinDisplay); } coinDisplay = new Container(); var coinIcon = coinDisplay.addChild(LK.getAsset('coinIcon', { anchorX: 0.5, anchorY: 0.5 })); var coinText = new Text2(goldCoins.toString(), { size: 60, fill: 0xFFD700 }); coinText.anchor.set(1, 0.5); coinText.x = -50; coinDisplay.addChild(coinText); coinDisplay.x = -80; coinDisplay.y = 150; LK.gui.topRight.addChild(coinDisplay); } function useHint() { if (goldCoins < 5 || !currentLogo) return; goldCoins -= 5; storage.goldCoins = goldCoins; updateCoinDisplay(); // Find an empty slot and place a correct letter for (var i = 0; i < answerSlots.length; i++) { var slot = answerSlots[i]; if (!slot.occupiedLetter) { var correctLetter = currentLogo.answer[i]; // Find the letter tile for (var j = 0; j < letterTiles.length; j++) { var tile = letterTiles[j]; if (tile.letter === correctLetter && !tile.isPlaced) { placeLetter(tile, slot); break; } } break; } } checkAnswer(); } function removeLetter(letter) { if (!letter.isPlaced || !letter.targetSlot) return; var slot = letter.targetSlot; // Clear slot slot.occupiedLetter = null; // Remove letter copy from answer slot if (slot.letterCopy) { slot.letterCopy.destroy(); slot.letterCopy = null; } // Reset letter to original state letter.isPlaced = false; letter.targetSlot = null; letter.alpha = 1; letter.x = letter.originalX; letter.y = letter.originalY; } function placeLetter(letter, slot) { if (slot.occupiedLetter) { // Return previous letter to pool var prevLetter = slot.occupiedLetter; prevLetter.isPlaced = false; prevLetter.targetSlot = null; prevLetter.alpha = 1; // Remove the letter copy from answer slot if (slot.letterCopy) { slot.letterCopy.destroy(); slot.letterCopy = null; } prevLetter.x = prevLetter.originalX; prevLetter.y = prevLetter.originalY; } letter.isPlaced = true; letter.targetSlot = slot; slot.occupiedLetter = letter; // Make the original tile appear faded/hidden letter.alpha = 0.3; // Create a copy of the letter in the answer slot var letterCopy = new LetterTile(letter.letter); letterCopy.x = slot.x; letterCopy.y = slot.y; letterCopy.isPlaced = true; letterCopy.down = function (x, y, obj) { removeLetter(letter); }; slot.letterCopy = letterCopy; game.addChild(letterCopy); } function showSettings() { game.removeChildren(); gameState = 'settings'; // Settings title var title = new Text2('Ayarlar', { size: 120, fill: 0xFFFFFF }); title.anchor.set(0.5, 0.5); title.x = 1024; title.y = 500; game.addChild(title); // Reset data button var resetButton = new CategoryButton('Tüm Verileri Sıfırla'); resetButton.x = 1024; resetButton.y = 900; resetButton.down = function (x, y, obj) { resetButton.scaleX = 0.95; resetButton.scaleY = 0.95; showResetConfirmation(); }; resetButton.up = function (x, y, obj) { resetButton.scaleX = 1; resetButton.scaleY = 1; }; game.addChild(resetButton); // Back to menu button var backButton = new CategoryButton('Ana Menüye Dön'); backButton.x = 1024; backButton.y = 1200; backButton.down = function (x, y, obj) { backButton.scaleX = 0.95; backButton.scaleY = 0.95; initializeMenu(); }; backButton.up = function (x, y, obj) { backButton.scaleX = 1; backButton.scaleY = 1; }; game.addChild(backButton); updateCoinDisplay(); } function showResetConfirmation() { game.removeChildren(); gameState = 'resetConfirm'; // Confirmation title var title = new Text2('Silmek İstediğinden Emin Misin?', { size: 100, fill: 0xFFFFFF }); title.anchor.set(0.5, 0.5); title.x = 1024; title.y = 600; game.addChild(title); // Yes button var yesButton = new CategoryButton('Evet'); yesButton.x = 700; yesButton.y = 1000; yesButton.down = function (x, y, obj) { yesButton.scaleX = 0.95; yesButton.scaleY = 0.95; // Reset only completed puzzles, preserve coins storage.completedLogos = {}; completedLogos = {}; // Flash screen to show reset happened LK.effects.flashScreen(0xFF0000, 500); // Go back to main menu after reset LK.setTimeout(function () { initializeMenu(); }, 1000); }; yesButton.up = function (x, y, obj) { yesButton.scaleX = 1; yesButton.scaleY = 1; }; game.addChild(yesButton); // No button var noButton = new CategoryButton('Hayır'); noButton.x = 1348; noButton.y = 1000; noButton.down = function (x, y, obj) { noButton.scaleX = 0.95; noButton.scaleY = 0.95; showSettings(); }; noButton.up = function (x, y, obj) { noButton.scaleX = 1; noButton.scaleY = 1; }; game.addChild(noButton); updateCoinDisplay(); } function showCompletedLogo(logoData) { game.removeChildren(); gameState = 'completed'; currentLogo = logoData; // Logo display area - larger and more prominent visual logo var logoAssetName = logoData.name.toLowerCase() + 'Logo'; if (logoData.name === 'Real Madrid') logoAssetName = 'realmadridLogo'; if (logoData.name === 'Manchester United') logoAssetName = 'manchesterLogo'; if (logoData.name === 'McDonalds') logoAssetName = 'mcdonaldsLogo'; if (logoData.name === 'Pizza Hut') logoAssetName = 'pizzahutLogo'; if (logoData.name === 'Instagram') logoAssetName = 'instagramLogo'; if (logoData.name === 'TikTok') logoAssetName = 'tiktokLogo'; var logoVisual = LK.getAsset(logoAssetName, { anchorX: 0.5, anchorY: 0.5, scaleX: 1.5, scaleY: 1.5 }); logoVisual.x = 1024; logoVisual.y = 500; game.addChild(logoVisual); // Show "COMPLETED" text var completedText = new Text2('TAMAMLANDI', { size: 100, fill: 0x00FF00 }); completedText.anchor.set(0.5, 0.5); completedText.x = 1024; completedText.y = 800; game.addChild(completedText); // Show the answer var answerText = new Text2(logoData.name, { size: 80, fill: 0xFFFFFF }); answerText.anchor.set(0.5, 0.5); answerText.x = 1024; answerText.y = 900; game.addChild(answerText); // Add checkmark var checkmark = LK.getAsset('checkmark', { anchorX: 0.5, anchorY: 0.5, scaleX: 1.5, scaleY: 1.5 }); checkmark.x = 1024; checkmark.y = 1050; game.addChild(checkmark); // Exit button var exitBtn = new ExitButton(); exitBtn.x = 1024; exitBtn.y = 1300; exitBtn.down = function (x, y, obj) { exitBtn.scaleX = 0.95; exitBtn.scaleY = 0.95; showCategoryLogos(currentCategory); // Return to category view }; exitBtn.up = function (x, y, obj) { exitBtn.scaleX = 1; exitBtn.scaleY = 1; }; game.addChild(exitBtn); updateCoinDisplay(); } function checkAnswer() { var playerAnswer = ''; for (var i = 0; i < answerSlots.length; i++) { var slot = answerSlots[i]; if (slot.occupiedLetter) { playerAnswer += slot.occupiedLetter.letter; } else { return; // Not all slots filled } } if (playerAnswer === currentLogo.answer) { // Correct answer goldCoins += 10; storage.goldCoins = goldCoins; // Mark logo as completed var logoKey = currentCategory + '_' + currentLogo.name; completedLogos[logoKey] = true; storage.completedLogos = completedLogos; LK.getSound('correctAnswer').play(); LK.getSound('coinEarned').play(); LK.effects.flashScreen(0x00FF00, 500); LK.setTimeout(function () { showCategoryLogos(currentCategory); }, 1000); } } function handleMove(x, y, obj) { // Move handler no longer needed for letter dragging } game.move = handleMove; game.up = function (x, y, obj) { // Up handler no longer needed for letter dragging }; // Initialize the game initializeMenu();
===================================================================
--- original.js
+++ change.js
@@ -629,12 +629,10 @@
yesButton.y = 1000;
yesButton.down = function (x, y, obj) {
yesButton.scaleX = 0.95;
yesButton.scaleY = 0.95;
- // Reset all saved data
- storage.goldCoins = 10;
+ // Reset only completed puzzles, preserve coins
storage.completedLogos = {};
- goldCoins = 10;
completedLogos = {};
// Flash screen to show reset happened
LK.effects.flashScreen(0xFF0000, 500);
// Go back to main menu after reset