User prompt
move the set 30 pixel left
User prompt
move the set 100 pixel down
User prompt
move the set 100 pixel down
User prompt
move the set 400 pixel down
User prompt
move the set 200 pixel up
User prompt
move the set 400 pixel up
User prompt
place theset middle of the screen
User prompt
Move the question text 30 pixels up
User prompt
move the question text 50 pixel down ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Move the question text 400 pixels down
User prompt
soru textini sadece text kısmını 500 pixel aşağı götür
User prompt
soru textini 700 pixel aşağı götür
User prompt
a b c ve d şıklarını daha yuvarlağımsı yap doğru ve yanlış için görünen şeylerini
User prompt
a b c ve d şıklarının dokunulabilen kısımlarındaki köşeleri yok edebilir misin daha yuvarlak bir görünüm için
User prompt
make all text white and has a outer line colored black
User prompt
bütün şıkları 5 pixel yukarı 5 pixel aşağı doğru büyült a b c ve d
User prompt
a b c v d butonunu yukarı aşağı sola ve sağa doğru 10 pixel büyült
User prompt
bütün şıkları % 5 her yöne büyült
User prompt
b şıkkını 20 pixel sola götür c şıkkını 10 pixel sola götür d şıkkını 15 pixel sola götür
User prompt
a şıkkını 15 pixel sola götür
User prompt
a b c ve d şıklarını sağ ve sola doğru %5 uzat ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
a b c ve d şıklarını sağ ve sola doğru %10 uzat
User prompt
Move mainQuestionBoard 20 pixels to the up
User prompt
Move mainQuestionBoard 50 pixels to the up
User prompt
Move mainQuestionBoard 200 pixels to the down
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1", { highScore: 0, totalPlayed: 0 }); /**** * Classes ****/ var Character = Container.expand(function () { var self = Container.call(this); var happyFace = self.attachAsset('characterHappy', { anchorX: 0.5, anchorY: 0.5 }); happyFace.visible = false; var sadFace = self.attachAsset('characterSad', { anchorX: 0.5, anchorY: 0.5 }); sadFace.visible = false; var excitedFace = self.attachAsset('characterExcited', { anchorX: 0.5, anchorY: 0.5 }); excitedFace.visible = false; var neutralFace = self.attachAsset('characterNeutral', { anchorX: 0.5, anchorY: 0.5 }); neutralFace.visible = true; self.showHappy = function () { happyFace.visible = true; sadFace.visible = false; excitedFace.visible = false; neutralFace.visible = false; }; self.showSad = function () { happyFace.visible = false; sadFace.visible = true; excitedFace.visible = false; neutralFace.visible = false; }; self.showExcited = function () { happyFace.visible = false; sadFace.visible = false; excitedFace.visible = true; neutralFace.visible = false; }; self.showNeutral = function () { happyFace.visible = false; sadFace.visible = false; excitedFace.visible = false; neutralFace.visible = true; }; return self; }); var Joker = Container.expand(function (type, icon) { var self = Container.call(this); self.type = type; self.used = false; var background = self.attachAsset('jokerButton', { anchorX: 0.5, anchorY: 0.5 }); var text = new Text2(icon, { size: 50, fill: 0xFFFFFF, stroke: 0x000000, strokeThickness: 3 }); text.anchor.set(0.5, 0.5); self.addChild(text); self.use = function () { if (self.used) { return false; } self.used = true; tween(self, { alpha: 0.4 }, { duration: 300 }); return true; }; self.reset = function () { self.used = false; self.alpha = 1; }; self.down = function (x, y, obj) { if (!self.used && !gameOver && !answerLocked) { activateJoker(self.type); } }; return self; }); var PhoneFriendPopup = Container.expand(function () { var self = Container.call(this); var background = self.attachAsset('questionCard', { anchorX: 0.5, anchorY: 0.5, width: 1200, height: 800 }); background.tint = 0xF5F5F5; var titleText = new Text2("Phone a Friend", { size: 80, fill: 0xFFFFFF, stroke: 0x000000, strokeThickness: 4 }); titleText.anchor.set(0.5, 0); titleText.position.set(0, -320); self.addChild(titleText); var friends = []; var friendNames = ["Professor", "Scientist", "Artist", "Engineer"]; for (var i = 0; i < 4; i++) { var friendButton = new Container(); var buttonBg = LK.getAsset('buttonBackground', { anchorX: 0.5, anchorY: 0.5, width: 500, height: 100 }); friendButton.addChild(buttonBg); var nameText = new Text2(friendNames[i], { size: 50, fill: 0xFFFFFF, stroke: 0x000000, strokeThickness: 3 }); nameText.anchor.set(0.5, 0.5); friendButton.addChild(nameText); friendButton.position.set(0, -150 + i * 150); friendButton.index = i; friendButton.interactive = true; friendButton.down = function (x, y, obj) { self.selectFriend(i); // Use the value of i from the loop instead of obj.parent.index }; self.addChild(friendButton); friends.push(friendButton); } self.visible = false; self.show = function () { self.visible = true; }; self.hide = function () { self.visible = false; }; self.selectFriend = function (index) { self.hide(); phoneFriendCallback(index); }; return self; }); var QuestionButton = Container.expand(function (index, text) { var self = Container.call(this); self.index = index; self.isCorrect = false; self.isSelected = false; self.isEliminated = false; // Apply additional 7% height increase while keeping width the same var background = self.attachAsset('buttonBackground', { anchorX: 0.5, anchorY: 0.5, width: 944, // 924 + 20 = 944 (adding 10px on each side) // Extended by 10 pixels on left and right height: 234, // 224 + 10 = 234 (adding 5px on top and 5px on bottom) shape: 'ellipse' // More rounded shape }); var buttonText = new Text2(text, { size: 60, fill: 0xFFFFFF, stroke: 0x000000, strokeThickness: 4 }); buttonText.anchor.set(0.5, 0.5); self.addChild(buttonText); var overlay = self.attachAsset('correctAnswerOverlay', { anchorX: 0.5, anchorY: 0.5, width: 944, // 924 + 20 = 944 (adding 10px on each side) // Extended by 10 pixels on left and right height: 234, // 224 + 10 = 234 (adding 5px on top and 5px on bottom) shape: 'ellipse' // More rounded shape for overlay }); overlay.alpha = 0; self.setText = function (newText) { buttonText.setText(newText); }; self.setCorrect = function (correct) { self.isCorrect = correct; }; self.markAsCorrect = function () { overlay.tint = 0x00FF00; tween(overlay, { alpha: 0.5 }, { duration: 500 }); }; self.markAsIncorrect = function () { overlay.tint = 0xFF0000; tween(overlay, { alpha: 0.5 }, { duration: 500 }); }; self.reset = function () { overlay.alpha = 0; self.isSelected = false; self.isEliminated = false; }; self.eliminate = function () { if (self.isCorrect) { return false; } self.isEliminated = true; tween(self, { alpha: 0.3 }, { duration: 300 }); return true; }; self.down = function (x, y, obj) { if (!self.isEliminated && !gameOver && !answerLocked) { self.isSelected = true; submitAnswer(self.index); } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB }); /**** * Game Code ****/ // Character images for different emotions/states // Game constants var TOTAL_QUESTIONS = 10; var TIME_PER_QUESTION = 30; // seconds var BUTTON_SPACING = 180; // Game state variables var currentQuestion = 0; var score = 0; var timeLeft = TIME_PER_QUESTION; var gameOver = false; var answerLocked = false; var usedSecondChance = false; var currentCorrectIndex = 0; // Quiz questions var questions = [{ question: "What is the capital of France?", answers: ["Paris", "London", "Berlin", "Madrid"], correctIndex: 0 }, { question: "Which planet is known as the Red Planet?", answers: ["Venus", "Mars", "Jupiter", "Saturn"], correctIndex: 1 }, { question: "What is the largest mammal on Earth?", answers: ["Elephant", "Giraffe", "Blue Whale", "Polar Bear"], correctIndex: 2 }, { question: "Which of these is not a programming language?", answers: ["Java", "Python", "Banana", "Ruby"], correctIndex: 2 }, { question: "What year did the Titanic sink?", answers: ["1912", "1905", "1920", "1931"], correctIndex: 0 }, { question: "Which element has the chemical symbol 'O'?", answers: ["Gold", "Oxygen", "Osmium", "Oganesson"], correctIndex: 1 }, { question: "Who painted the Mona Lisa?", answers: ["Van Gogh", "Picasso", "Michelangelo", "Leonardo da Vinci"], correctIndex: 3 }, { question: "What is the smallest prime number?", answers: ["0", "1", "2", "3"], correctIndex: 2 }, { question: "Which country is home to the kangaroo?", answers: ["New Zealand", "South Africa", "Australia", "Brazil"], correctIndex: 2 }, { question: "How many sides does a hexagon have?", answers: ["5", "6", "7", "8"], correctIndex: 1 }]; // Background colors for different questions var backgroundColors = [0x87CEEB, // Sky blue 0x98FB98, // Pale green 0xFFB6C1, // Light pink 0xFFD700, // Gold 0xE6E6FA, // Lavender 0xFFA07A, // Light salmon 0xADD8E6, // Light blue 0xF0E68C, // Khaki 0xD8BFD8, // Thistle 0xAFEEEE // Pale turquoise ]; // Create UI elements var mainQuestionBoard = game.addChild(LK.getAsset('mainquestionboard', { anchorX: 0.5, anchorY: 0.5 })); mainQuestionBoard.position.set(2048 / 2 + 135, 2732 / 2 + 430); var questionCard = game.addChild(LK.getAsset('questionCard', { anchorX: 0.5, anchorY: -0.8 })); questionCard.position.set(2048 / 2, 2732 / 2 + 200); // Moved 700 pixels down from original position var questionText = new Text2("", { size: 70, fill: 0xFFFFFF, stroke: 0x000000, strokeThickness: 4 }); questionText.anchor.set(0.5, 0.5); questionText.position.set(0, 0); questionCard.addChild(questionText); var answerButtons = []; for (var i = 0; i < 4; i++) { var button = new QuestionButton(i, ""); if (i === 0) { // Move button A 500 pixels down and 215 pixels left button.position.set(2048 / 2 - 515, 2732 / 2 - 100 + i * BUTTON_SPACING + 970); } else if (i === 1) { // Move button B 970 pixels down and 400 pixels right, then 20 pixels left button.position.set(2048 / 2 + 510, 2732 / 2 - 100 + i * BUTTON_SPACING + 790); } else if (i === 2) { // Move button C 950 pixels down and 510 pixels left button.position.set(2048 / 2 - 510, 2732 / 2 - 200 + i * BUTTON_SPACING + 1010); } else { button.position.set(2048 / 2 + 515, 2732 / 2 - 200 + i * BUTTON_SPACING + 830); } answerButtons.push(button); game.addChild(button); } // Create jokers var jokers = []; var jokerTypes = ["fifty", "audience", "phone", "second"]; var jokerIcons = ["50/50", "👥", "📞", "🔄"]; for (var i = 0; i < 4; i++) { var joker = new Joker(jokerTypes[i], jokerIcons[i]); joker.position.set(250 + i * 150, 200); jokers.push(joker); game.addChild(joker); } // Create character var character = new Character(); character.position.set(2048 / 2, 2732 - 300); game.addChild(character); // Create timer UI var timerText = new Text2("", { size: 100, fill: 0xFFFFFF, stroke: 0x000000, strokeThickness: 5 }); timerText.anchor.set(0.5, 0.5); timerText.position.set(2048 / 2, 150); game.addChild(timerText); // Create score display var scoreText = new Text2("Score: 0", { size: 70, fill: 0xFFFFFF, stroke: 0x000000, strokeThickness: 4 }); scoreText.anchor.set(1, 0); scoreText.position.set(2048 - 50, 50); game.addChild(scoreText); // Create question counter var counterText = new Text2("Question: 1/" + TOTAL_QUESTIONS, { size: 70, fill: 0xFFFFFF, stroke: 0x000000, strokeThickness: 4 }); counterText.anchor.set(0, 0); counterText.position.set(150, 50); game.addChild(counterText); // Create phone a friend popup var phoneFriendPopup = new PhoneFriendPopup(); phoneFriendPopup.position.set(2048 / 2, 2732 / 2); game.addChild(phoneFriendPopup); // Game timer var gameTimer = LK.setInterval(function () { if (gameOver || answerLocked) { return; } timeLeft--; timerText.setText(timeLeft); // Change character expression when time is running low if (timeLeft <= 5) { character.showExcited(); } if (timeLeft <= 0) { timeExpired(); } }, 1000); // Game functions function loadQuestion(index) { if (index >= questions.length) { endGame(true); return; } // Change background color game.setBackgroundColor(backgroundColors[index]); var question = questions[index]; questionText.setText(question.question); currentCorrectIndex = question.correctIndex; for (var i = 0; i < 4; i++) { answerButtons[i].setText(question.answers[i]); answerButtons[i].setCorrect(i === question.correctIndex); answerButtons[i].reset(); } timeLeft = TIME_PER_QUESTION; timerText.setText(timeLeft); currentQuestion = index; counterText.setText("Question: " + (currentQuestion + 1) + "/" + TOTAL_QUESTIONS); character.showNeutral(); usedSecondChance = false; answerLocked = false; } function submitAnswer(index) { if (answerLocked) { return; } answerLocked = true; var correct = index === currentCorrectIndex; if (correct) { LK.getSound('correctSound').play(); answerButtons[index].markAsCorrect(); character.showHappy(); score++; scoreText.setText("Score: " + score); LK.setTimeout(function () { loadQuestion(currentQuestion + 1); }, 1500); } else { LK.getSound('incorrectSound').play(); answerButtons[index].markAsIncorrect(); answerButtons[currentCorrectIndex].markAsCorrect(); character.showSad(); // Check if second chance joker is available var canUseSecondChance = !usedSecondChance && findJokerByType("second") && !findJokerByType("second").used; if (canUseSecondChance) { LK.setTimeout(function () { activateJoker("second"); }, 1500); } else { LK.setTimeout(function () { endGame(false); }, 2000); } } } function timeExpired() { answerLocked = true; character.showSad(); // Highlight correct answer answerButtons[currentCorrectIndex].markAsCorrect(); LK.setTimeout(function () { endGame(false); }, 2000); } function activateJoker(type) { var joker = findJokerByType(type); if (!joker || joker.used) { return; } LK.getSound('jokerSound').play(); switch (type) { case "fifty": useFiftyFifty(); break; case "audience": useAudienceHelp(); break; case "phone": usePhoneFriend(); break; case "second": useSecondChance(); break; } joker.use(); } function findJokerByType(type) { for (var i = 0; i < jokers.length; i++) { if (jokers[i].type === type) { return jokers[i]; } } return null; } function useFiftyFifty() { var eliminated = 0; var attempts = 0; // Try to eliminate two wrong answers while (eliminated < 2 && attempts < 10) { attempts++; var randomIndex = Math.floor(Math.random() * 4); if (answerButtons[randomIndex].eliminate()) { eliminated++; } } } function useAudienceHelp() { // Calculate audience accuracy based on question number // Accuracy decreases as questions get harder var baseAccuracy = 0.99 - currentQuestion * 0.05; for (var i = 0; i < 4; i++) { var percentage; if (i === currentCorrectIndex) { // Correct answer gets higher percentage based on accuracy percentage = Math.floor(baseAccuracy * 100); } else { // Distribute remaining percentage among wrong answers percentage = Math.floor((1 - baseAccuracy) * 33); } // Update button text to show percentage var originalText = questions[currentQuestion].answers[i]; answerButtons[i].setText(originalText + " (" + percentage + "%)"); } // Reset the text after 5 seconds LK.setTimeout(function () { for (var i = 0; i < 4; i++) { answerButtons[i].setText(questions[currentQuestion].answers[i]); } }, 5000); } function usePhoneFriend() { phoneFriendPopup.show(); } function useSecondChance() { usedSecondChance = true; // Reset all buttons for (var i = 0; i < 4; i++) { answerButtons[i].reset(); } // Unlock answer selection answerLocked = false; // Reset character character.showNeutral(); } function phoneFriendCallback(friendIndex) { var friendKnowledge; // Different friends have different knowledge areas switch (friendIndex) { case 0: // Professor - 80% chance of being correct friendKnowledge = 0.8; break; case 1: // Scientist - 70% chance of being correct friendKnowledge = 0.7; break; case 2: // Artist - 60% chance of being correct friendKnowledge = 0.6; break; case 3: // Engineer - 75% chance of being correct friendKnowledge = 0.75; break; } var answerIndex; // Determine if friend gives correct answer based on knowledge if (Math.random() < friendKnowledge) { answerIndex = currentCorrectIndex; } else { // Select a random wrong answer do { answerIndex = Math.floor(Math.random() * 4); } while (answerIndex === currentCorrectIndex); } // Highlight the friend's suggestion var originalColor = answerButtons[answerIndex].children[0].tint; answerButtons[answerIndex].children[0].tint = 0x00FFFF; // Reset the highlight after 5 seconds LK.setTimeout(function () { answerButtons[answerIndex].children[0].tint = originalColor; }, 5000); } function endGame(completed) { gameOver = true; // Update high score if (score > storage.highScore) { storage.highScore = score; } // Update total games played storage.totalPlayed = (storage.totalPlayed || 0) + 1; // Show game over screen if (completed) { LK.showYouWin(); } else { LK.showGameOver(); } } // Initialize game function initGame() { score = 0; gameOver = false; currentQuestion = 0; // Reset jokers for (var i = 0; i < jokers.length; i++) { jokers[i].reset(); } // Update score text scoreText.setText("Score: " + score); // Start with first question loadQuestion(0); // Play background music LK.playMusic('backgroundMusic'); } // Start the game initGame();
===================================================================
--- original.js
+++ change.js
@@ -335,9 +335,9 @@
var questionCard = game.addChild(LK.getAsset('questionCard', {
anchorX: 0.5,
anchorY: -0.8
}));
-questionCard.position.set(2048 / 2, 2732 / 2 - 500);
+questionCard.position.set(2048 / 2, 2732 / 2 + 200); // Moved 700 pixels down from original position
var questionText = new Text2("", {
size: 70,
fill: 0xFFFFFF,
stroke: 0x000000,