User prompt
Cevapları Cevap Tuşlarının Tam ortasına Getir
User prompt
Üç Joker Tuşunu Çok az biraz daha Aşşağı getir
User prompt
Start Tuşu çok az daha Aşşağı Geir çok az
User prompt
Start Tuşunu Biraz Daha Yukarı Getir
User prompt
Menüdeki Start Game Yazısını Sil
User prompt
hataları düzelt
Code edit (1 edits merged)
Please save this source code
User prompt
Sorular Siyah Renk Olsun
User prompt
Üç Joker Butonunun üzerindeki yazıları sil
User prompt
Joker tuşlarını biraz daha aşşağıya yerleştir
User prompt
Üç joker tuşlarını sorunun hemen altın koy
User prompt
Üç Joker tuşunun y ve x ini 0 a 0 yap
User prompt
Üç Joker Tuşunuda ortala
User prompt
Üç Jokerein y konumunu 0 yap
User prompt
Üç Joker tuşunu da 0 noktasına getir
User prompt
LVL 8 Yazan Tuşun Üstüne Joker yaz
User prompt
Seviye atlama tuşunu iç içe yapmışsın düzelt
User prompt
bir JOKER daha ekle basınca bizi 10 saniyeliğine 8.seviyeye geçirsin ve tek seferlik olsun ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Oyunumuza Üslü İfadeleride ekle zor olsun
User prompt
çalış yazısını kaldır
User prompt
Arka Plana Start Tuşuna Basınca Çıkacak Bir şarkı ekle
User prompt
Kaybedince Çıkan Çalış Yazısını siyah renkle ve daha stil ve kalın bir şekilde yazdır
User prompt
LK.showGameOver() işlevindeki menüde Oyun bitti Yerine Çalış Yazsın
User prompt
LK.showGameOver() işlevini ekle ve Hünerlerini Geliştir yazdır
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var AnswerButton = Container.expand(function (answer, isCorrect) { var self = Container.call(this); var buttonGraphics = self.attachAsset('answerButton', { anchorX: 0.5, anchorY: 0.5 }); var answerText = new Text2(answer.toString(), { size: 60, fill: 0xFFFFFF }); answerText.anchor.set(0.5, 0.5); self.addChild(answerText); self.answer = answer; self.isCorrect = isCorrect; self.isClicked = false; self.down = function (x, y, obj) { if (self.isClicked) { return; } self.isClicked = true; if (self.isCorrect) { self.removeChild(buttonGraphics); var correctGraphics = self.attachAsset('correctButton', { anchorX: 0.5, anchorY: 0.5 }); LK.getSound('correct').play(); LK.setScore(LK.getScore() + 1); scoreTxt.setText(LK.getScore()); LK.setTimeout(function () { nextQuestion(); }, 1000); } else { self.removeChild(buttonGraphics); var wrongGraphics = self.attachAsset('wrongButton', { anchorX: 0.5, anchorY: 0.5 }); LK.getSound('wrong').play(); LK.setTimeout(function () { showGameOver(); }, 1000); } }; return self; }); var JokerButton = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('jokerButton', { anchorX: 0.5, anchorY: 0.5 }); self.down = function (x, y, obj) { if (jokerUsed || gameState !== 'playing') { return; } jokerUsed = true; LK.effects.flashObject(self, 0xFFFFFF, 300); // Show correct answer by highlighting correct button for (var i = 0; i < answerButtons.length; i++) { if (answerButtons[i].isCorrect) { LK.effects.flashObject(answerButtons[i], 0x27ae60, 1500); break; } } // Hide joker button after use self.alpha = 0.3; }; return self; }); var LevelJokerButton = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('levelJokerButton', { anchorX: 0.5, anchorY: 0.5 }); self.down = function (x, y, obj) { if (levelJokerUsed || gameState !== 'playing') { return; } levelJokerUsed = true; LK.effects.flashObject(self, 0xFFFFFF, 300); // Store current level and switch to level 8 originalLevel = currentLevel; currentLevel = 8; levelTxt.setText('Level: 8 (TEMP)'); // Flash screen to show level bonus LK.effects.flashScreen(0xe67e22, 500); // Hide joker button after use self.alpha = 0.3; // Set timer to revert back after 10 seconds LK.setTimeout(function () { if (gameState === 'playing') { currentLevel = originalLevel; levelTxt.setText('Level: ' + currentLevel); LK.effects.flashScreen(0x3498db, 300); } }, 10000); }; return self; }); var MenuButton = Container.expand(function (text, callback) { var self = Container.call(this); var buttonGraphics = self.attachAsset('menuButton', { anchorX: 0.5, anchorY: 0.5 }); var buttonText = new Text2(text, { size: 50, fill: 0xFFFFFF }); buttonText.anchor.set(0.5, 0.5); self.addChild(buttonText); self.callback = callback; self.down = function (x, y, obj) { LK.effects.flashObject(self, 0xFFFFFF, 200); LK.setTimeout(function () { self.callback(); }, 200); }; return self; }); var TimeJokerButton = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('timeJokerButton', { anchorX: 0.5, anchorY: 0.5 }); self.down = function (x, y, obj) { if (timeJokerUsed || gameState !== 'playing') { return; } timeJokerUsed = true; LK.effects.flashObject(self, 0xFFFFFF, 300); // Add 30 seconds to timer timeLeft += 30; timerTxt.setText('Time: ' + timeLeft); // Flash screen to show time bonus LK.effects.flashScreen(0x9b59b6, 500); // Hide joker button after use self.alpha = 0.3; }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x34495e }); /**** * Game Code ****/ var gameState = 'menu'; // 'menu', 'playing', 'gameover' var currentLevel = 1; var questionsAnswered = 0; var maxQuestions = 10; var questionsPerLevel = 3; var timeLeft = 60; var gameTimer = null; var currentQuestion = null; var answerButtons = []; var menuElements = []; var jokerUsed = false; var jokerButton = null; var timeJokerUsed = false; var timeJokerButton = null; var levelJokerUsed = false; var levelJokerButton = null; var originalLevel = 1; // Add notebook background var notebookBackground = LK.getAsset('notebook_background', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366 }); game.addChild(notebookBackground); // UI Elements - initially hidden var questionBox = LK.getAsset('questionBox', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 800 }); var questionText = new Text2('', { size: 80, fill: 0x000000 }); questionText.anchor.set(0.5, 0.5); questionText.x = 1024; questionText.y = 800; var scoreTxt = new Text2('Score: 0', { size: 60, fill: 0xFFFFFF }); scoreTxt.anchor.set(0, 0); scoreTxt.x = 100; scoreTxt.y = 150; var timerTxt = new Text2('Time: 60', { size: 60, fill: 0xFFFFFF }); timerTxt.anchor.set(1, 0); timerTxt.x = 1948; timerTxt.y = 150; var levelTxt = new Text2('Level: 1', { size: 50, fill: 0xFFFFFF }); levelTxt.anchor.set(0.5, 0); levelTxt.x = 1024; levelTxt.y = 150; var furkanText = new Text2('Furkan Çelebi', { size: 40, fill: 0xFFFFFF }); furkanText.anchor.set(0.5, 0); furkanText.x = 1024; furkanText.y = 100; // Create joker button jokerButton = new JokerButton(); jokerButton.x = 1024 - 200; jokerButton.y = 950; // Create time joker button timeJokerButton = new TimeJokerButton(); timeJokerButton.x = 1024; timeJokerButton.y = 950; // Create level joker button levelJokerButton = new LevelJokerButton(); levelJokerButton.x = 1024 + 200; levelJokerButton.y = 950; function showMenu() { gameState = 'menu'; // Clear any existing menu elements for (var i = 0; i < menuElements.length; i++) { menuElements[i].destroy(); } menuElements = []; // Hide game elements if (questionBox.parent) { questionBox.parent.removeChild(questionBox); } if (questionText.parent) { questionText.parent.removeChild(questionText); } if (scoreTxt.parent) { scoreTxt.parent.removeChild(scoreTxt); } if (timerTxt.parent) { timerTxt.parent.removeChild(timerTxt); } if (levelTxt.parent) { levelTxt.parent.removeChild(levelTxt); } if (jokerButton && jokerButton.parent) { jokerButton.parent.removeChild(jokerButton); } if (timeJokerButton && timeJokerButton.parent) { timeJokerButton.parent.removeChild(timeJokerButton); } if (levelJokerButton && levelJokerButton.parent) { levelJokerButton.parent.removeChild(levelJokerButton); } if (furkanText.parent) { furkanText.parent.removeChild(furkanText); } // Create menu background var menuBg = game.addChild(LK.getAsset('menuBackground', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366 })); menuElements.push(menuBg); // Create title var titleText = new Text2('Math Challenge', { size: 120, fill: 0xFFFFFF }); titleText.anchor.set(0.5, 0.5); titleText.x = 1024; titleText.y = 800; game.addChild(titleText); menuElements.push(titleText); // Create subtitle var subtitleText = new Text2('Test your arithmetic skills!', { size: 60, fill: 0xBDC3C7 }); subtitleText.anchor.set(0.5, 0.5); subtitleText.x = 1024; subtitleText.y = 920; game.addChild(subtitleText); menuElements.push(subtitleText); // Create start button var startButton = new MenuButton('START GAME', function () { startGameFromMenu(); }); startButton.x = 1024; startButton.y = 1200; game.addChild(startButton); menuElements.push(startButton); // Create instructions var instructionsText = new Text2('Answer math questions correctly to score points!\nProgress through 10 levels: basic arithmetic to exponents!\nLevels 8-10 feature challenging exponent expressions like 3^4!\nExponents get harder as you advance!\nYou have 60 seconds to complete all levels.', { size: 32, fill: 0x95A5A6 }); instructionsText.anchor.set(0.5, 0.5); instructionsText.x = 1024; instructionsText.y = 1400; game.addChild(instructionsText); menuElements.push(instructionsText); } function hideMenu() { // Clear menu elements for (var i = 0; i < menuElements.length; i++) { menuElements[i].destroy(); } menuElements = []; // Show game elements game.addChild(questionBox); game.addChild(questionText); game.addChild(scoreTxt); game.addChild(timerTxt); game.addChild(levelTxt); game.addChild(furkanText); game.addChild(jokerButton); game.addChild(timeJokerButton); game.addChild(levelJokerButton); } function startGameFromMenu() { gameState = 'playing'; hideMenu(); // Reset game state currentLevel = 1; questionsAnswered = 0; timeLeft = 60; jokerUsed = false; LK.setScore(0); scoreTxt.setText('Score: 0'); timerTxt.setText('Time: 60'); levelTxt.setText('Level: 1'); // Reset joker button if (jokerButton) { jokerButton.alpha = 1; } // Reset time joker button timeJokerUsed = false; if (timeJokerButton) { timeJokerButton.alpha = 1; } // Reset level joker button levelJokerUsed = false; if (levelJokerButton) { levelJokerButton.alpha = 1; } // Start background music when game begins LK.playMusic('background_music'); startGame(); } function generateQuestion() { var num1, num2, operator, correctAnswer; var operations = ['+', '-', '*', '/']; if (currentLevel === 1) { // Level 1: Single digit addition num1 = Math.floor(Math.random() * 9) + 1; num2 = Math.floor(Math.random() * 9) + 1; operator = '+'; } else if (currentLevel === 2) { // Level 2: Single digit subtraction num1 = Math.floor(Math.random() * 9) + 1; num2 = Math.floor(Math.random() * 9) + 1; operator = '-'; if (num2 > num1) { var temp = num1; num1 = num2; num2 = temp; } } else if (currentLevel === 3) { // Level 3: Single digit multiplication num1 = Math.floor(Math.random() * 9) + 1; num2 = Math.floor(Math.random() * 9) + 1; operator = '*'; } else if (currentLevel === 4) { // Level 4: Single digit division num2 = Math.floor(Math.random() * 9) + 1; num1 = num2 * (Math.floor(Math.random() * 9) + 1); operator = '/'; } else if (currentLevel === 5) { // Level 5: Two digit addition num1 = Math.floor(Math.random() * 90) + 10; num2 = Math.floor(Math.random() * 90) + 10; operator = '+'; } else if (currentLevel === 6) { // Level 6: Two digit subtraction num1 = Math.floor(Math.random() * 90) + 10; num2 = Math.floor(Math.random() * 90) + 10; operator = '-'; if (num2 > num1) { var temp = num1; num1 = num2; num2 = temp; } } else if (currentLevel === 7) { // Level 7: Two digit multiplication num1 = Math.floor(Math.random() * 20) + 1; num2 = Math.floor(Math.random() * 20) + 1; operator = '*'; } else if (currentLevel === 8) { // Level 8: Mixed operations with exponents (simple) var questionType = Math.floor(Math.random() * 2); // 0 for regular math, 1 for exponents if (questionType === 0) { num1 = Math.floor(Math.random() * 50) + 10; num2 = Math.floor(Math.random() * 20) + 1; operator = operations[Math.floor(Math.random() * 4)]; if (operator === '-' && num2 > num1) { var temp = num1; num1 = num2; num2 = temp; } if (operator === '/' && num1 % num2 !== 0) { num1 = num2 * Math.floor(Math.random() * 8 + 1); } } else { // Simple exponents: base 2-5, exponent 2-3 var base = Math.floor(Math.random() * 4) + 2; // Base from 2-5 var exponent = Math.floor(Math.random() * 2) + 2; // Exponent from 2-3 correctAnswer = Math.pow(base, exponent); return { text: base + '^' + exponent + ' = ?', answer: correctAnswer }; } } else if (currentLevel === 9) { // Level 9: Complex mixed operations with more exponents var questionType = Math.floor(Math.random() * 3); // 0,1 for regular math, 2 for exponents if (questionType < 2) { num1 = Math.floor(Math.random() * 100) + 20; num2 = Math.floor(Math.random() * 30) + 1; operator = operations[Math.floor(Math.random() * 4)]; if (operator === '-' && num2 > num1) { var temp = num1; num1 = num2; num2 = temp; } if (operator === '/' && num1 % num2 !== 0) { num1 = num2 * Math.floor(Math.random() * 10 + 1); } } else { // Medium exponents: base 2-7, exponent 2-4 var base = Math.floor(Math.random() * 6) + 2; // Base from 2-7 var exponent = Math.floor(Math.random() * 3) + 2; // Exponent from 2-4 correctAnswer = Math.pow(base, exponent); return { text: base + '^' + exponent + ' = ?', answer: correctAnswer }; } } else if (currentLevel === 10) { // Level 10: Advanced exponent expressions (mostly exponents) var questionType = Math.floor(Math.random() * 4); // 0 for regular math, 1,2,3 for exponents if (questionType === 0) { // Occasional complex math problem num1 = Math.floor(Math.random() * 150) + 50; num2 = Math.floor(Math.random() * 25) + 5; operator = operations[Math.floor(Math.random() * 4)]; if (operator === '-' && num2 > num1) { var temp = num1; num1 = num2; num2 = temp; } if (operator === '/' && num1 % num2 !== 0) { num1 = num2 * Math.floor(Math.random() * 15 + 1); } } else { // Advanced exponents: base 2-10, exponent 2-5 var base = Math.floor(Math.random() * 9) + 2; // Base from 2-10 var exponent = Math.floor(Math.random() * 4) + 2; // Exponent from 2-5 correctAnswer = Math.pow(base, exponent); return { text: base + '^' + exponent + ' = ?', answer: correctAnswer }; } } switch (operator) { case '+': correctAnswer = num1 + num2; break; case '-': correctAnswer = num1 - num2; break; case '*': correctAnswer = num1 * num2; break; case '/': correctAnswer = num1 / num2; break; } return { text: num1 + ' ' + operator + ' ' + num2 + ' = ?', answer: correctAnswer }; } function generateWrongAnswers(correctAnswer) { var wrongAnswers = []; var range = Math.max(5, Math.floor(correctAnswer * 0.3)); while (wrongAnswers.length < 3) { var wrong = correctAnswer + Math.floor(Math.random() * range * 2) - range; if (wrong !== correctAnswer && wrongAnswers.indexOf(wrong) === -1 && wrong >= 0) { wrongAnswers.push(wrong); } } return wrongAnswers; } function clearAnswerButtons() { for (var i = 0; i < answerButtons.length; i++) { answerButtons[i].destroy(); } answerButtons = []; } function showQuestion() { clearAnswerButtons(); currentQuestion = generateQuestion(); questionText.setText(currentQuestion.text); var answers = [currentQuestion.answer]; var wrongAnswers = generateWrongAnswers(currentQuestion.answer); answers = answers.concat(wrongAnswers); // Shuffle answers for (var i = answers.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var temp = answers[i]; answers[i] = answers[j]; answers[j] = temp; } // Create answer buttons var buttonStartX = 1024 - (4 * 350 + 3 * 50) / 2 + 175; var buttonY = 1200; for (var i = 0; i < 4; i++) { var button = new AnswerButton(answers[i], answers[i] === currentQuestion.answer); button.x = buttonStartX + i * 400; button.y = buttonY; answerButtons.push(button); game.addChild(button); } } function nextQuestion() { questionsAnswered++; if (questionsAnswered % questionsPerLevel === 0 && currentLevel < 10) { currentLevel++; levelTxt.setText('Level: ' + currentLevel); LK.effects.flashScreen(0x27ae60, 500); showQuestion(); } else if (currentLevel === 10 && questionsAnswered % questionsPerLevel === 0) { LK.showYouWin(); return; } else { showQuestion(); } } function showGameOver() { LK.clearInterval(gameTimer); gameState = 'gameover'; // Stop background music when game ends LK.stopMusic(); LK.showGameOver(); // Show LK game over functionality } function startGame() { // Start timer gameTimer = LK.setInterval(function () { timeLeft--; timerTxt.setText('Time: ' + timeLeft); if (timeLeft <= 0) { showGameOver(); } }, 1000); // Show first question showQuestion(); } // Show menu first instead of starting game directly showMenu();
===================================================================
--- original.js
+++ change.js
@@ -229,18 +229,18 @@
furkanText.x = 1024;
furkanText.y = 100;
// Create joker button
jokerButton = new JokerButton();
-jokerButton.x = 1024 - 300;
-jokerButton.y = 1000;
+jokerButton.x = 1024 - 200;
+jokerButton.y = 950;
// Create time joker button
timeJokerButton = new TimeJokerButton();
timeJokerButton.x = 1024;
-timeJokerButton.y = 1000;
+timeJokerButton.y = 950;
// Create level joker button
levelJokerButton = new LevelJokerButton();
-levelJokerButton.x = 1024 + 300;
-levelJokerButton.y = 1000;
+levelJokerButton.x = 1024 + 200;
+levelJokerButton.y = 950;
function showMenu() {
gameState = 'menu';
// Clear any existing menu elements
for (var i = 0; i < menuElements.length; i++) {
Bir Buton . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Bir masa ve üstünde defter . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Üstünde "Joker" Yazan Bir Buton. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Arka Planı sil
Arka Planı Sil