User prompt
function startGame() { score = 0; currentQuestionIndex = 0; // Tüm sorulardan rastgele 5 tanesini seç currentQuestions = [...questions] .sort(() => Math.random() - 0.5) // karıştır .slice(0, 5); // ilk 5 taneyi al showQuestion(); document.getElementById("quiz").style.display = "block"; document.getElementById("menu").style.display = "none"; document.getElementById("settings").style.display = "none"; document.getElementById("result").style.display = "none"; }
User prompt
User prompt
User prompt
function selectAnswer(selectedIndex) { clearTimeout(questionTimer); clearInterval(countdownInterval); const question = currentQuestions[currentQuestionIndex]; const isCorrect = selectedIndex === question.correct; if (isCorrect) score++; playSound(isCorrect); currentQuestionIndex++; if (currentQuestionIndex < currentQuestions.length) { showQuestion(); } else { if (currentQuestions.length === 1 && (question.q.includes("Jon Snow") || question.q.includes("Daenerys"))) { showFinalResult(); } else { showResult(); } } }
User prompt
let questionTimer; let countdownInterval; let timeLeft = 7;
User prompt
User prompt
User prompt
function selectAnswer(selectedIndex) { clearTimeout(questionTimer); const question = currentQuestions[currentQuestionIndex]; const isCorrect = selectedIndex === question.correct; if (isCorrect) score++; playSound(isCorrect); currentQuestionIndex++; if (currentQuestionIndex < currentQuestions.length) { showQuestion(); } else { // Bonus sorudan sonra sonuç ekranı if (currentQuestions.length === 1 && (question.q.includes("Jon Snow") || question.q.includes("Daenerys"))) { showFinalResult(); } else { showResult(); } } }
User prompt
function showResult() { clearTimeout(questionTimer); // zamanlayıcıyı temizle // Bonus soruyu rastgele seç const bonus = bonusQuestions[Math.floor(Math.random() * bonusQuestions.length)]; currentQuestions = [bonus]; // sadece bonus soruyu göster currentQuestionIndex = 0; document.getElementById("quiz").style.display = "block"; document.getElementById("menu").style.display = "none"; document.getElementById("settings").style.display = "none"; document.getElementById("result").style.display = "none"; showQuestion(); // bonus soruyu göster
User prompt
function showResult() { // Skoru göster... }
User prompt
const bonusQuestions = [ { q: "Who is known as the King in the North?", answers: ["Jaime Lannister", "Robb Stark", "Jon Snow", "The Hound"], correct: 2 }, { q: "What is Daenerys Targaryen's title?", answers: ["Lady of Casterly Rock", "Breaker of Chains", "Warden of the East", "Queen of the Vale"], correct: 1 } ];
User prompt
User prompt
Please fix the bug: 'Uncaught ReferenceError: questionTimer is not defined' in or related to this line: 'if (questionTimer) {' Line Number: 468
User prompt
function selectAnswer(selectedIndex) { clearTimeout(questionTimer); // Süreyi durdur const question = currentQuestions[currentQuestionIndex]; const isCorrect = selectedIndex === question.correct; if (isCorrect) score++; playSound(isCorrect); currentQuestionIndex++; if (currentQuestionIndex < currentQuestions.length) { showQuestion(); } else { showResult(); } }
User prompt
function showQuestion() { const question = currentQuestions[currentQuestionIndex]; document.getElementById("question").textContent = question.q; const answers = document.getElementById("answers"); answers.innerHTML = ""; question.answers.forEach((answer, index) => { const btn = document.createElement("button"); btn.textContent = answer; btn.onclick = () => selectAnswer(index); answers.appendChild(btn); }); // Önceki zamanlayıcıyı temizle clearTimeout(questionTimer); // 7 saniye sonra otomatik yanlış say questionTimer = setTimeout(() => { selectAnswer(-1); // Yanıt vermeden geçtiyse }, 7000); }
User prompt
let questionTimer; // Soru zamanlayıcısı
User prompt
menüdeki arka plana foto koy
User prompt
Oyuna hoşgeldiniz!
User prompt
Oyuna hoşgeldiniz!
User prompt
Oyuna hoşgeldiniz!
User prompt
User prompt
Please fix the bug: 'updateScoreDisplay is not defined' in or related to this line: 'updateScoreDisplay();' Line Number: 485
User prompt
function updateLanguage() { const t = translations[language]; // ... mevcut güncellemeler // Dil İngilizce ise göster, değilse gizle const langHint = document.getElementById("langHint"); if (language === "en") { langHint.style.display = "block"; } else { langHint.style.display = "none"; } updateScoreDisplay(); }
User prompt
Oyuna hoşgeldiniz!
User prompt
Oyuna hoşgeldiniz!
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var AnswerButton = Container.expand(function () { var self = Container.call(this); self.defaultBackground = self.attachAsset('answerButton', { anchorX: 0.5, anchorY: 0.5 }); self.answerText = new Text2('', { size: 48, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 750 }); self.answerText.anchor.set(0.5, 0.5); self.addChild(self.answerText); self.isCorrect = false; self.isClickable = true; self.setAnswer = function (text, correct) { self.answerText.setText(text); self.isCorrect = correct; self.isClickable = true; self.resetVisual(); }; self.resetVisual = function () { self.removeChild(self.defaultBackground); self.defaultBackground = self.attachAsset('answerButton', { anchorX: 0.5, anchorY: 0.5 }); self.addChildAt(self.defaultBackground, 0); }; self.showResult = function () { self.removeChild(self.defaultBackground); if (self.isCorrect) { self.defaultBackground = self.attachAsset('correctButton', { anchorX: 0.5, anchorY: 0.5 }); } else { self.defaultBackground = self.attachAsset('incorrectButton', { anchorX: 0.5, anchorY: 0.5 }); } self.addChildAt(self.defaultBackground, 0); self.isClickable = false; }; self.down = function (x, y, obj) { if (!self.isClickable) return; self.isClickable = false; game.answerSelected(self); }; return self; }); var QuestionCard = Container.expand(function () { var self = Container.call(this); var background = self.attachAsset('questionBackground', { anchorX: 0.5, anchorY: 0.5 }); self.questionText = new Text2('', { size: 60, fill: 0xFFFFFF, wordWrap: true, wordWrapWidth: 1700 }); self.questionText.anchor.set(0.5, 0.5); self.addChild(self.questionText); self.setQuestion = function (questionData) { self.questionText.setText(questionData.question); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x1a252f }); /**** * Game Code ****/ // Multilingual questions var questionsData = { en: [{ question: "What is Jon Snow's true parentage?", answers: ["Ned Stark and unknown mother", "Lyanna Stark and Rhaegar Targaryen", "Catelyn Stark and Ned Stark", "Cersei Lannister and Robert Baratheon"], correct: 1 }, { question: "What is the name of Daenerys' largest dragon?", answers: ["Viserion", "Rhaegal", "Drogon", "Balerion"], correct: 2 }, { question: "Which city is known as the Free City across the Narrow Sea?", answers: ["King's Landing", "Winterfell", "Braavos", "Oldtown"], correct: 2 }, { question: "Who is known as the 'King in the North'?", answers: ["Jon Snow", "Robb Stark", "Ned Stark", "Both A and B"], correct: 3 }, { question: "What is the motto of House Stark?", answers: ["Fire and Blood", "Winter is Coming", "Hear Me Roar", "Ours is the Fury"], correct: 1 }], tr: [{ question: "Jon Snow'un gerçek adı nedir?", answers: ["Aegon Targaryen", "Robb Stark", "Eddard Stark", "Bran Stark"], correct: 0 }, { question: "Demir Taht'ta ilk oturan kişi kimdir?", answers: ["Robert Baratheon", "Aerys II", "Aegon the Conqueror", "Joffrey Baratheon"], correct: 2 }, { question: "Arya Stark'ın eğitildiği şehir hangisidir?", answers: ["Braavos", "Meereen", "Qarth", "Winterfell"], correct: 0 }, { question: "Daenerys'in en büyük ejderhasının adı nedir?", answers: ["Viserion", "Rhaegal", "Drogon", "Balerion"], correct: 2 }, { question: "Stark Hanesi'nin sloganı nedir?", answers: ["Ateş ve Kan", "Kış Geliyor", "Beni Duy Kükreyişimi", "Bizimdir Öfke"], correct: 1 }] }; // Game state management var gameState = 'menu'; // 'menu', 'settings', 'playing', 'finished' var currentQuestionIndex = 0; var correctAnswers = 0; var questionCard; var answerButtons = []; var scoreText; var isAnswering = false; var difficulty = 'medium'; // 'easy', 'medium', 'hard' var language = 'en'; // 'en', 'tr' // Reference to current questions based on language var questions = questionsData[language]; var totalQuestions = questions.length; // Translation objects var translations = { en: { title: "Game of Thrones Quiz", subtitle: "Test your knowledge of Westeros!", startGame: "Start Game", settings: "Settings", settingsTitle: "Settings", difficulty: "Difficulty Level:", language: "Language:", easy: "Easy", medium: "Medium", hard: "Hard", backToMenu: "Back to Menu", quizComplete: "Quiz Complete!", finalScore: "Final Score:", returnToMenu: "Return to Menu", score: "Score:", turkish: "Turkish", english: "English", confirmBackToMenu: "Are you sure you want to return to the main menu?", saveSettings: "Save Settings", settingsSaved: "Settings saved!" }, tr: { title: "Game of Thrones Quiz", subtitle: "Westeros'un bilgini test etmeye hazır mısın?", startGame: "Başla", settings: "Ayarlar", settingsTitle: "Ayarlar", difficulty: "Zorluk Seviyesi:", language: "Dil:", easy: "Kolay", medium: "Orta", hard: "Zor", backToMenu: "Ana Menüye Dön", quizComplete: "Quiz Bitti!", finalScore: "Skorunuz:", returnToMenu: "Ana Menüye Dön", score: "Skor:", turkish: "Türkçe", english: "İngilizce", confirmBackToMenu: "Ana menüye dönmek istediğinizden emin misiniz?", saveSettings: "Ayarları Kaydet", settingsSaved: "Ayarlar kaydedildi!" } }; // Menu UI elements var menuContainer; var gameContainer; var endContainer; var settingsContainer; // UI text elements for language updates var menuTitle; var menuSubtitle; var startButton; var settingsButton; var settingsTitle; var difficultyLabel; var languageLabel; var easyButton; var mediumButton; var hardButton; var backButton; var languageButton; var headerScoreText; var backToMenuButton; var saveButton; // Create UI elements function initializeUI() { // Create main containers menuContainer = game.addChild(new Container()); gameContainer = game.addChild(new Container()); endContainer = game.addChild(new Container()); settingsContainer = game.addChild(new Container()); // Setup menu screen menuTitle = new Text2('Game of Thrones Quiz', { size: 80, fill: 0xF39C12 }); menuTitle.anchor.set(0.5, 0.5); menuTitle.x = 1024; menuTitle.y = 800; menuContainer.addChild(menuTitle); menuSubtitle = new Text2('Test your knowledge of Westeros!', { size: 48, fill: 0xFFFFFF }); menuSubtitle.anchor.set(0.5, 0.5); menuSubtitle.x = 1024; menuSubtitle.y = 950; menuContainer.addChild(menuSubtitle); startButton = menuContainer.addChild(new AnswerButton()); startButton.setAnswer('Start Game', false); startButton.x = 1024; startButton.y = 1100; startButton.down = function () { startGame(); }; settingsButton = menuContainer.addChild(new AnswerButton()); settingsButton.setAnswer('Settings', false); settingsButton.x = 1024; settingsButton.y = 1300; settingsButton.down = function () { showSettings(); }; // Setup game screen // Add footer credit text var creditText = new Text2('David tarafından yapıldı', { size: 32, fill: 0x444444 }); creditText.anchor.set(0, 1); creditText.x = 12; creditText.y = 2732 - 12; menuContainer.addChild(creditText); gameContainer.visible = false; // Question card questionCard = gameContainer.addChild(new QuestionCard()); questionCard.x = 1024; questionCard.y = 600; // Answer buttons for (var i = 0; i < 4; i++) { var button = gameContainer.addChild(new AnswerButton()); button.x = i % 2 === 0 ? 524 : 1524; button.y = i < 2 ? 1200 : 1400; answerButtons.push(button); } // Score display var scoreBackground = gameContainer.addChild(LK.getAsset('scoreBackground', { anchorX: 0.5, anchorY: 0.5 })); scoreBackground.x = 1024; scoreBackground.y = 200; scoreText = new Text2('Score: 0/0', { size: 48, fill: 0xFFFFFF }); scoreText.anchor.set(0.5, 0.5); scoreBackground.addChild(scoreText); // Score display for quiz header var headerScoreText = new Text2('Score: 0', { size: 36, fill: 0xFFFFFF }); headerScoreText.anchor.set(0, 0.5); headerScoreText.x = 100; headerScoreText.y = 150; gameContainer.addChild(headerScoreText); // Back to menu button in quiz screen backToMenuButton = gameContainer.addChild(new AnswerButton()); backToMenuButton.setAnswer('Back to Menu', false); backToMenuButton.x = 1800; backToMenuButton.y = 150; backToMenuButton.defaultBackground.width = 300; backToMenuButton.defaultBackground.height = 80; backToMenuButton.answerText.size = 32; // Add ID for HTML compatibility backToMenuButton.id = 'menuBtnInQuiz'; backToMenuButton.down = function () { confirmGoToMenu(); }; // Setup settings screen settingsContainer.visible = false; settingsTitle = new Text2('Settings', { size: 80, fill: 0xF39C12 }); settingsTitle.anchor.set(0.5, 0.5); settingsTitle.x = 1024; settingsTitle.y = 700; settingsContainer.addChild(settingsTitle); difficultyLabel = new Text2('Difficulty Level:', { size: 48, fill: 0xFFFFFF }); difficultyLabel.anchor.set(0.5, 0.5); difficultyLabel.x = 1024; difficultyLabel.y = 900; settingsContainer.addChild(difficultyLabel); easyButton = settingsContainer.addChild(new AnswerButton()); easyButton.setAnswer('Easy', false); easyButton.x = 1024; easyButton.y = 1050; easyButton.down = function () { setDifficulty('easy'); }; mediumButton = settingsContainer.addChild(new AnswerButton()); mediumButton.setAnswer('Medium', false); mediumButton.x = 1024; mediumButton.y = 1200; mediumButton.down = function () { setDifficulty('medium'); }; hardButton = settingsContainer.addChild(new AnswerButton()); hardButton.setAnswer('Hard', false); hardButton.x = 1024; hardButton.y = 1350; hardButton.down = function () { setDifficulty('hard'); }; languageLabel = new Text2('Language:', { size: 48, fill: 0xFFFFFF }); languageLabel.anchor.set(0.5, 0.5); languageLabel.x = 1024; languageLabel.y = 1500; settingsContainer.addChild(languageLabel); languageButton = settingsContainer.addChild(new AnswerButton()); languageButton.setAnswer('English', false); languageButton.x = 1024; languageButton.y = 1650; languageButton.down = function () { toggleLanguage(); }; var saveButton = settingsContainer.addChild(new AnswerButton()); saveButton.setAnswer('Save Settings', false); saveButton.x = 1024; saveButton.y = 1800; saveButton.down = function () { saveSettings(); }; backButton = settingsContainer.addChild(new AnswerButton()); backButton.setAnswer('Back to Menu', false); backButton.x = 1024; backButton.y = 1950; backButton.down = function () { goToMenu(); }; // Setup end screen endContainer.visible = false; } function displayQuestion() { // Update questions reference for current language questions = questionsData[language]; if (currentQuestionIndex >= questions.length) { showFinalScore(); return; } var questionData = questions[currentQuestionIndex]; questionCard.setQuestion(questionData); for (var i = 0; i < 4; i++) { answerButtons[i].setAnswer(questionData.answers[i], i === questionData.correct); } updateScore(); isAnswering = false; } function updateScore() { var isTR = language === "tr"; var scoreLabel = isTR ? "Skor" : "Score"; var diffLabel = isTR ? "Zorluk" : "Difficulty"; var diffText = ""; if (difficulty === "easy") diffText = isTR ? "Kolay" : "Easy";else if (difficulty === "medium") diffText = isTR ? "Orta" : "Medium";else if (difficulty === "hard") diffText = isTR ? "Zor" : "Hard"; scoreText.setText(translations[language].score + ' ' + correctAnswers + '/' + (currentQuestionIndex + 1)); // Update header score text if it exists if (typeof headerScoreText !== 'undefined') { headerScoreText.setText("".concat(scoreLabel, ": ").concat(correctAnswers, " | ").concat(diffLabel, ": ").concat(diffText)); } } function updateLanguage() { var t = translations[language]; // Update menu texts menuTitle.setText(t.title); menuSubtitle.setText(t.subtitle); startButton.setAnswer(t.startGame, false); settingsButton.setAnswer(t.settings, false); // Update settings texts settingsTitle.setText(t.settingsTitle); difficultyLabel.setText(t.difficulty); languageLabel.setText(t.language); easyButton.setAnswer(t.easy, false); mediumButton.setAnswer(t.medium, false); hardButton.setAnswer(t.hard, false); backButton.setAnswer(t.backToMenu, false); languageButton.setAnswer(language === 'en' ? t.turkish : t.english, false); // Update back to menu button in quiz screen if (typeof backToMenuButton !== 'undefined') { backToMenuButton.setAnswer(t.backToMenu, false); } // Update save button text if (typeof saveButton !== 'undefined') { saveButton.setAnswer(language === 'tr' ? 'Ayarları Kaydet' : 'Save Settings', false); } // Update questions reference questions = questionsData[language]; totalQuestions = questions.length; // Update score if in game if (gameState === 'playing') { updateScore(); } } function toggleLanguage() { language = language === 'en' ? 'tr' : 'en'; updateLanguage(); } function startGame() { gameState = 'playing'; currentQuestionIndex = 0; correctAnswers = 0; updateScore(); updateLanguage(); isAnswering = false; // Hide menu, show game menuContainer.visible = false; gameContainer.visible = true; endContainer.visible = false; settingsContainer.visible = false; displayQuestion(); } function showSettings() { gameState = 'settings'; // Hide all screens, show settings menuContainer.visible = false; gameContainer.visible = false; endContainer.visible = false; settingsContainer.visible = true; } function setDifficulty(newDifficulty) { difficulty = newDifficulty; // Visual feedback could be added here in the future goToMenu(); } function goToMenu() { gameState = 'menu'; // Hide all screens, show menu menuContainer.visible = true; gameContainer.visible = false; endContainer.visible = false; settingsContainer.visible = false; } function showFinalScore() { gameState = 'finished'; // Hide game screen, show end screen gameContainer.visible = false; settingsContainer.visible = false; endContainer.visible = true; // Clear previous end screen content while (endContainer.children.length > 0) { endContainer.removeChildAt(0); } var t = translations[language]; var endTitle = new Text2(t.quizComplete, { size: 80, fill: 0xF39C12 }); endTitle.anchor.set(0.5, 0.5); endTitle.x = 1024; endTitle.y = 1000; endContainer.addChild(endTitle); var finalScoreText = new Text2(t.finalScore + ' ' + correctAnswers + '/' + totalQuestions, { size: 60, fill: 0xFFFFFF }); finalScoreText.anchor.set(0.5, 0.5); finalScoreText.x = 1024; finalScoreText.y = 1200; endContainer.addChild(finalScoreText); var menuButton = endContainer.addChild(new AnswerButton()); menuButton.setAnswer(t.returnToMenu, false); menuButton.x = 1024; menuButton.y = 1500; menuButton.down = function () { goToMenu(); }; if (correctAnswers >= totalQuestions * 0.8) { LK.showYouWin(); } else if (correctAnswers < totalQuestions * 0.4) { LK.showGameOver(); } } function checkAnswer(selected) { if (isAnswering) return; isAnswering = true; // Show results for all buttons for (var i = 0; i < answerButtons.length; i++) { answerButtons[i].showResult(); } // Check if answer is correct if (selected.isCorrect) { correctAnswers++; LK.setScore(correctAnswers); LK.getSound('correct').play(); updateScore(); } else { LK.getSound('incorrect').play(); } // Move to next question after delay LK.setTimeout(function () { currentQuestionIndex++; displayQuestion(); }, 2000); } function saveSettings() { // Save settings to persistent storage storage.difficulty = difficulty; storage.language = language; updateLanguage(); updateScore(); // Update difficulty display in score // Show confirmation message using screen flash effect LK.effects.flashScreen(0x27ae60, 500); // Green flash for confirmation goToMenu(); } function confirmGoToMenu() { // Create a simple confirmation by going directly to menu // In a mobile game environment, we skip the confirmation dialog goToMenu(); } game.answerSelected = function (selectedButton) { if (isAnswering) return; isAnswering = true; // Show results for all buttons for (var i = 0; i < answerButtons.length; i++) { answerButtons[i].showResult(); } // Check if answer is correct if (selectedButton.isCorrect) { correctAnswers++; LK.setScore(correctAnswers); LK.getSound('correct').play(); } else { LK.getSound('incorrect').play(); } // Move to next question after delay LK.setTimeout(function () { currentQuestionIndex++; displayQuestion(); }, 2000); }; // Load saved settings function loadSettings() { var savedDifficulty = storage.difficulty; var savedLanguage = storage.language; if (savedDifficulty) { difficulty = savedDifficulty; } if (savedLanguage) { language = savedLanguage; } } // Initialize the game loadSettings(); initializeUI(); updateLanguage(); goToMenu();
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/****
* Classes
****/
var AnswerButton = Container.expand(function () {
var self = Container.call(this);
self.defaultBackground = self.attachAsset('answerButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.answerText = new Text2('', {
size: 48,
fill: 0xFFFFFF,
wordWrap: true,
wordWrapWidth: 750
});
self.answerText.anchor.set(0.5, 0.5);
self.addChild(self.answerText);
self.isCorrect = false;
self.isClickable = true;
self.setAnswer = function (text, correct) {
self.answerText.setText(text);
self.isCorrect = correct;
self.isClickable = true;
self.resetVisual();
};
self.resetVisual = function () {
self.removeChild(self.defaultBackground);
self.defaultBackground = self.attachAsset('answerButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.addChildAt(self.defaultBackground, 0);
};
self.showResult = function () {
self.removeChild(self.defaultBackground);
if (self.isCorrect) {
self.defaultBackground = self.attachAsset('correctButton', {
anchorX: 0.5,
anchorY: 0.5
});
} else {
self.defaultBackground = self.attachAsset('incorrectButton', {
anchorX: 0.5,
anchorY: 0.5
});
}
self.addChildAt(self.defaultBackground, 0);
self.isClickable = false;
};
self.down = function (x, y, obj) {
if (!self.isClickable) return;
self.isClickable = false;
game.answerSelected(self);
};
return self;
});
var QuestionCard = Container.expand(function () {
var self = Container.call(this);
var background = self.attachAsset('questionBackground', {
anchorX: 0.5,
anchorY: 0.5
});
self.questionText = new Text2('', {
size: 60,
fill: 0xFFFFFF,
wordWrap: true,
wordWrapWidth: 1700
});
self.questionText.anchor.set(0.5, 0.5);
self.addChild(self.questionText);
self.setQuestion = function (questionData) {
self.questionText.setText(questionData.question);
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x1a252f
});
/****
* Game Code
****/
// Multilingual questions
var questionsData = {
en: [{
question: "What is Jon Snow's true parentage?",
answers: ["Ned Stark and unknown mother", "Lyanna Stark and Rhaegar Targaryen", "Catelyn Stark and Ned Stark", "Cersei Lannister and Robert Baratheon"],
correct: 1
}, {
question: "What is the name of Daenerys' largest dragon?",
answers: ["Viserion", "Rhaegal", "Drogon", "Balerion"],
correct: 2
}, {
question: "Which city is known as the Free City across the Narrow Sea?",
answers: ["King's Landing", "Winterfell", "Braavos", "Oldtown"],
correct: 2
}, {
question: "Who is known as the 'King in the North'?",
answers: ["Jon Snow", "Robb Stark", "Ned Stark", "Both A and B"],
correct: 3
}, {
question: "What is the motto of House Stark?",
answers: ["Fire and Blood", "Winter is Coming", "Hear Me Roar", "Ours is the Fury"],
correct: 1
}],
tr: [{
question: "Jon Snow'un gerçek adı nedir?",
answers: ["Aegon Targaryen", "Robb Stark", "Eddard Stark", "Bran Stark"],
correct: 0
}, {
question: "Demir Taht'ta ilk oturan kişi kimdir?",
answers: ["Robert Baratheon", "Aerys II", "Aegon the Conqueror", "Joffrey Baratheon"],
correct: 2
}, {
question: "Arya Stark'ın eğitildiği şehir hangisidir?",
answers: ["Braavos", "Meereen", "Qarth", "Winterfell"],
correct: 0
}, {
question: "Daenerys'in en büyük ejderhasının adı nedir?",
answers: ["Viserion", "Rhaegal", "Drogon", "Balerion"],
correct: 2
}, {
question: "Stark Hanesi'nin sloganı nedir?",
answers: ["Ateş ve Kan", "Kış Geliyor", "Beni Duy Kükreyişimi", "Bizimdir Öfke"],
correct: 1
}]
};
// Game state management
var gameState = 'menu'; // 'menu', 'settings', 'playing', 'finished'
var currentQuestionIndex = 0;
var correctAnswers = 0;
var questionCard;
var answerButtons = [];
var scoreText;
var isAnswering = false;
var difficulty = 'medium'; // 'easy', 'medium', 'hard'
var language = 'en'; // 'en', 'tr'
// Reference to current questions based on language
var questions = questionsData[language];
var totalQuestions = questions.length;
// Translation objects
var translations = {
en: {
title: "Game of Thrones Quiz",
subtitle: "Test your knowledge of Westeros!",
startGame: "Start Game",
settings: "Settings",
settingsTitle: "Settings",
difficulty: "Difficulty Level:",
language: "Language:",
easy: "Easy",
medium: "Medium",
hard: "Hard",
backToMenu: "Back to Menu",
quizComplete: "Quiz Complete!",
finalScore: "Final Score:",
returnToMenu: "Return to Menu",
score: "Score:",
turkish: "Turkish",
english: "English",
confirmBackToMenu: "Are you sure you want to return to the main menu?",
saveSettings: "Save Settings",
settingsSaved: "Settings saved!"
},
tr: {
title: "Game of Thrones Quiz",
subtitle: "Westeros'un bilgini test etmeye hazır mısın?",
startGame: "Başla",
settings: "Ayarlar",
settingsTitle: "Ayarlar",
difficulty: "Zorluk Seviyesi:",
language: "Dil:",
easy: "Kolay",
medium: "Orta",
hard: "Zor",
backToMenu: "Ana Menüye Dön",
quizComplete: "Quiz Bitti!",
finalScore: "Skorunuz:",
returnToMenu: "Ana Menüye Dön",
score: "Skor:",
turkish: "Türkçe",
english: "İngilizce",
confirmBackToMenu: "Ana menüye dönmek istediğinizden emin misiniz?",
saveSettings: "Ayarları Kaydet",
settingsSaved: "Ayarlar kaydedildi!"
}
};
// Menu UI elements
var menuContainer;
var gameContainer;
var endContainer;
var settingsContainer;
// UI text elements for language updates
var menuTitle;
var menuSubtitle;
var startButton;
var settingsButton;
var settingsTitle;
var difficultyLabel;
var languageLabel;
var easyButton;
var mediumButton;
var hardButton;
var backButton;
var languageButton;
var headerScoreText;
var backToMenuButton;
var saveButton;
// Create UI elements
function initializeUI() {
// Create main containers
menuContainer = game.addChild(new Container());
gameContainer = game.addChild(new Container());
endContainer = game.addChild(new Container());
settingsContainer = game.addChild(new Container());
// Setup menu screen
menuTitle = new Text2('Game of Thrones Quiz', {
size: 80,
fill: 0xF39C12
});
menuTitle.anchor.set(0.5, 0.5);
menuTitle.x = 1024;
menuTitle.y = 800;
menuContainer.addChild(menuTitle);
menuSubtitle = new Text2('Test your knowledge of Westeros!', {
size: 48,
fill: 0xFFFFFF
});
menuSubtitle.anchor.set(0.5, 0.5);
menuSubtitle.x = 1024;
menuSubtitle.y = 950;
menuContainer.addChild(menuSubtitle);
startButton = menuContainer.addChild(new AnswerButton());
startButton.setAnswer('Start Game', false);
startButton.x = 1024;
startButton.y = 1100;
startButton.down = function () {
startGame();
};
settingsButton = menuContainer.addChild(new AnswerButton());
settingsButton.setAnswer('Settings', false);
settingsButton.x = 1024;
settingsButton.y = 1300;
settingsButton.down = function () {
showSettings();
};
// Setup game screen
// Add footer credit text
var creditText = new Text2('David tarafından yapıldı', {
size: 32,
fill: 0x444444
});
creditText.anchor.set(0, 1);
creditText.x = 12;
creditText.y = 2732 - 12;
menuContainer.addChild(creditText);
gameContainer.visible = false;
// Question card
questionCard = gameContainer.addChild(new QuestionCard());
questionCard.x = 1024;
questionCard.y = 600;
// Answer buttons
for (var i = 0; i < 4; i++) {
var button = gameContainer.addChild(new AnswerButton());
button.x = i % 2 === 0 ? 524 : 1524;
button.y = i < 2 ? 1200 : 1400;
answerButtons.push(button);
}
// Score display
var scoreBackground = gameContainer.addChild(LK.getAsset('scoreBackground', {
anchorX: 0.5,
anchorY: 0.5
}));
scoreBackground.x = 1024;
scoreBackground.y = 200;
scoreText = new Text2('Score: 0/0', {
size: 48,
fill: 0xFFFFFF
});
scoreText.anchor.set(0.5, 0.5);
scoreBackground.addChild(scoreText);
// Score display for quiz header
var headerScoreText = new Text2('Score: 0', {
size: 36,
fill: 0xFFFFFF
});
headerScoreText.anchor.set(0, 0.5);
headerScoreText.x = 100;
headerScoreText.y = 150;
gameContainer.addChild(headerScoreText);
// Back to menu button in quiz screen
backToMenuButton = gameContainer.addChild(new AnswerButton());
backToMenuButton.setAnswer('Back to Menu', false);
backToMenuButton.x = 1800;
backToMenuButton.y = 150;
backToMenuButton.defaultBackground.width = 300;
backToMenuButton.defaultBackground.height = 80;
backToMenuButton.answerText.size = 32;
// Add ID for HTML compatibility
backToMenuButton.id = 'menuBtnInQuiz';
backToMenuButton.down = function () {
confirmGoToMenu();
};
// Setup settings screen
settingsContainer.visible = false;
settingsTitle = new Text2('Settings', {
size: 80,
fill: 0xF39C12
});
settingsTitle.anchor.set(0.5, 0.5);
settingsTitle.x = 1024;
settingsTitle.y = 700;
settingsContainer.addChild(settingsTitle);
difficultyLabel = new Text2('Difficulty Level:', {
size: 48,
fill: 0xFFFFFF
});
difficultyLabel.anchor.set(0.5, 0.5);
difficultyLabel.x = 1024;
difficultyLabel.y = 900;
settingsContainer.addChild(difficultyLabel);
easyButton = settingsContainer.addChild(new AnswerButton());
easyButton.setAnswer('Easy', false);
easyButton.x = 1024;
easyButton.y = 1050;
easyButton.down = function () {
setDifficulty('easy');
};
mediumButton = settingsContainer.addChild(new AnswerButton());
mediumButton.setAnswer('Medium', false);
mediumButton.x = 1024;
mediumButton.y = 1200;
mediumButton.down = function () {
setDifficulty('medium');
};
hardButton = settingsContainer.addChild(new AnswerButton());
hardButton.setAnswer('Hard', false);
hardButton.x = 1024;
hardButton.y = 1350;
hardButton.down = function () {
setDifficulty('hard');
};
languageLabel = new Text2('Language:', {
size: 48,
fill: 0xFFFFFF
});
languageLabel.anchor.set(0.5, 0.5);
languageLabel.x = 1024;
languageLabel.y = 1500;
settingsContainer.addChild(languageLabel);
languageButton = settingsContainer.addChild(new AnswerButton());
languageButton.setAnswer('English', false);
languageButton.x = 1024;
languageButton.y = 1650;
languageButton.down = function () {
toggleLanguage();
};
var saveButton = settingsContainer.addChild(new AnswerButton());
saveButton.setAnswer('Save Settings', false);
saveButton.x = 1024;
saveButton.y = 1800;
saveButton.down = function () {
saveSettings();
};
backButton = settingsContainer.addChild(new AnswerButton());
backButton.setAnswer('Back to Menu', false);
backButton.x = 1024;
backButton.y = 1950;
backButton.down = function () {
goToMenu();
};
// Setup end screen
endContainer.visible = false;
}
function displayQuestion() {
// Update questions reference for current language
questions = questionsData[language];
if (currentQuestionIndex >= questions.length) {
showFinalScore();
return;
}
var questionData = questions[currentQuestionIndex];
questionCard.setQuestion(questionData);
for (var i = 0; i < 4; i++) {
answerButtons[i].setAnswer(questionData.answers[i], i === questionData.correct);
}
updateScore();
isAnswering = false;
}
function updateScore() {
var isTR = language === "tr";
var scoreLabel = isTR ? "Skor" : "Score";
var diffLabel = isTR ? "Zorluk" : "Difficulty";
var diffText = "";
if (difficulty === "easy") diffText = isTR ? "Kolay" : "Easy";else if (difficulty === "medium") diffText = isTR ? "Orta" : "Medium";else if (difficulty === "hard") diffText = isTR ? "Zor" : "Hard";
scoreText.setText(translations[language].score + ' ' + correctAnswers + '/' + (currentQuestionIndex + 1));
// Update header score text if it exists
if (typeof headerScoreText !== 'undefined') {
headerScoreText.setText("".concat(scoreLabel, ": ").concat(correctAnswers, " | ").concat(diffLabel, ": ").concat(diffText));
}
}
function updateLanguage() {
var t = translations[language];
// Update menu texts
menuTitle.setText(t.title);
menuSubtitle.setText(t.subtitle);
startButton.setAnswer(t.startGame, false);
settingsButton.setAnswer(t.settings, false);
// Update settings texts
settingsTitle.setText(t.settingsTitle);
difficultyLabel.setText(t.difficulty);
languageLabel.setText(t.language);
easyButton.setAnswer(t.easy, false);
mediumButton.setAnswer(t.medium, false);
hardButton.setAnswer(t.hard, false);
backButton.setAnswer(t.backToMenu, false);
languageButton.setAnswer(language === 'en' ? t.turkish : t.english, false);
// Update back to menu button in quiz screen
if (typeof backToMenuButton !== 'undefined') {
backToMenuButton.setAnswer(t.backToMenu, false);
}
// Update save button text
if (typeof saveButton !== 'undefined') {
saveButton.setAnswer(language === 'tr' ? 'Ayarları Kaydet' : 'Save Settings', false);
}
// Update questions reference
questions = questionsData[language];
totalQuestions = questions.length;
// Update score if in game
if (gameState === 'playing') {
updateScore();
}
}
function toggleLanguage() {
language = language === 'en' ? 'tr' : 'en';
updateLanguage();
}
function startGame() {
gameState = 'playing';
currentQuestionIndex = 0;
correctAnswers = 0;
updateScore();
updateLanguage();
isAnswering = false;
// Hide menu, show game
menuContainer.visible = false;
gameContainer.visible = true;
endContainer.visible = false;
settingsContainer.visible = false;
displayQuestion();
}
function showSettings() {
gameState = 'settings';
// Hide all screens, show settings
menuContainer.visible = false;
gameContainer.visible = false;
endContainer.visible = false;
settingsContainer.visible = true;
}
function setDifficulty(newDifficulty) {
difficulty = newDifficulty;
// Visual feedback could be added here in the future
goToMenu();
}
function goToMenu() {
gameState = 'menu';
// Hide all screens, show menu
menuContainer.visible = true;
gameContainer.visible = false;
endContainer.visible = false;
settingsContainer.visible = false;
}
function showFinalScore() {
gameState = 'finished';
// Hide game screen, show end screen
gameContainer.visible = false;
settingsContainer.visible = false;
endContainer.visible = true;
// Clear previous end screen content
while (endContainer.children.length > 0) {
endContainer.removeChildAt(0);
}
var t = translations[language];
var endTitle = new Text2(t.quizComplete, {
size: 80,
fill: 0xF39C12
});
endTitle.anchor.set(0.5, 0.5);
endTitle.x = 1024;
endTitle.y = 1000;
endContainer.addChild(endTitle);
var finalScoreText = new Text2(t.finalScore + ' ' + correctAnswers + '/' + totalQuestions, {
size: 60,
fill: 0xFFFFFF
});
finalScoreText.anchor.set(0.5, 0.5);
finalScoreText.x = 1024;
finalScoreText.y = 1200;
endContainer.addChild(finalScoreText);
var menuButton = endContainer.addChild(new AnswerButton());
menuButton.setAnswer(t.returnToMenu, false);
menuButton.x = 1024;
menuButton.y = 1500;
menuButton.down = function () {
goToMenu();
};
if (correctAnswers >= totalQuestions * 0.8) {
LK.showYouWin();
} else if (correctAnswers < totalQuestions * 0.4) {
LK.showGameOver();
}
}
function checkAnswer(selected) {
if (isAnswering) return;
isAnswering = true;
// Show results for all buttons
for (var i = 0; i < answerButtons.length; i++) {
answerButtons[i].showResult();
}
// Check if answer is correct
if (selected.isCorrect) {
correctAnswers++;
LK.setScore(correctAnswers);
LK.getSound('correct').play();
updateScore();
} else {
LK.getSound('incorrect').play();
}
// Move to next question after delay
LK.setTimeout(function () {
currentQuestionIndex++;
displayQuestion();
}, 2000);
}
function saveSettings() {
// Save settings to persistent storage
storage.difficulty = difficulty;
storage.language = language;
updateLanguage();
updateScore(); // Update difficulty display in score
// Show confirmation message using screen flash effect
LK.effects.flashScreen(0x27ae60, 500); // Green flash for confirmation
goToMenu();
}
function confirmGoToMenu() {
// Create a simple confirmation by going directly to menu
// In a mobile game environment, we skip the confirmation dialog
goToMenu();
}
game.answerSelected = function (selectedButton) {
if (isAnswering) return;
isAnswering = true;
// Show results for all buttons
for (var i = 0; i < answerButtons.length; i++) {
answerButtons[i].showResult();
}
// Check if answer is correct
if (selectedButton.isCorrect) {
correctAnswers++;
LK.setScore(correctAnswers);
LK.getSound('correct').play();
} else {
LK.getSound('incorrect').play();
}
// Move to next question after delay
LK.setTimeout(function () {
currentQuestionIndex++;
displayQuestion();
}, 2000);
};
// Load saved settings
function loadSettings() {
var savedDifficulty = storage.difficulty;
var savedLanguage = storage.language;
if (savedDifficulty) {
difficulty = savedDifficulty;
}
if (savedLanguage) {
language = savedLanguage;
}
}
// Initialize the game
loadSettings();
initializeUI();
updateLanguage();
goToMenu();
Fullscreen modern App Store landscape banner, 16:9, high definition, for a game titled "Game of Thrones Quiz Challenge" and with the description "Test your Game of Thrones knowledge with challenging multiple-choice questions about characters, locations, and major plot points from the epic series.". No text on banner!
game of thrones hakkında foto yap. In-Game asset. 2d. High contrast. No shadows