// Function to show an element function showElement(selector) { const element = document.querySelector(selector); if (element) { element.style.display = 'block'; } } // Function to hide an element function hideElement(selector){ const element = document.querySelector(selector); if (element) { element.style.display = 'none'; } } const customers = [ ["#customer1 img", "#customer1-2 img", "#customer1-3 img"], ["#customer2 img", "#customer2-2 img", "#customer2-3 img"], ["#customer3 img", "#customer3-2 img", "#customer3-3 img"], ] const RandomCustomerIndex = Math.floor(Math.random() * customers.length); const qinshihuangs = [ '#qinshihuang1 img', '#qinshihuang2 img', '#qinshihuang3 img' ] const RandomQinShiHuangIndex = Math.floor(Math.random() * qinshihuangs.length); function checkAnswer(dishName){ var answer = answers[QAlist[currentIndex]] return answer == dishName } function handleClick(dishName) { console.log(dishName + " 被点击了!"); if (checkAnswer(dishName)){ // 正确答案的处理逻辑 console.log("恭喜,你选对了!"); if (currentIndex == 9){ setTimeout(function() { window.location.href = 'gameover.html'; }, 2000); }else{ currentIndex = currentIndex + 1 var nextQuestion = questions[QAlist[currentIndex]]; document.getElementById("dialogueText").innerHTML = nextQuestion; console.log(answers[QAlist[currentIndex]]); } } else { // 错误答案的处理逻辑 console.log("不幸,这不是正确答案。"); failedTimes = failedTimes + 1 switch (failedTimes) { case 1: hideElement(customers[RandomCustomerIndex][0]) showElement(customers[RandomCustomerIndex][1]) break; case 2: hideElement(customers[RandomCustomerIndex][1]) showElement(customers[RandomCustomerIndex][2]) break; case 3: hideElement('#qinshihuang img') showElement(qinshihuangs[RandomQinShiHuangIndex]) // Delay for 2 seconds before redirecting setTimeout(function() { window.location.href = 'gameover.html'; }, 2000); // 这里可以添加结束游戏或其他逻辑 break; default: console.log("失败次数:" + failedTimes); } } } var failedTimes = 0 // Questions list var questions = [ "如何建立统一的度量衡体系以加强中央集权?", "如何制定合理的税收政策来增强国库?", "如何组织和动员资源建造长城以防御外敌?", "如何执行禁止私人持有武器的政策?", "如何推广统一的书写系统来加强文化统一?", "如何合理征召士兵并保持军队的高效运作?", "如何处理与儒家思想相关的政治异见?", "如何加强皇帝的集权制度?", "如何建立和维护一个有效的道路交通网络?", "如何处理与周边国家的外交关系?" ]; // Answers list var answers = [ 'roast_duck', 'mapo', 'Yangzhou', 'Chicken', 'roast_duck', 'Yangzhou', 'mapo', 'mapo', 'Prawns', 'Yangzhou' ] var QAlist = Array.from(Array(questions.length).keys()); // Fisher-Yates 洗牌算法 function shuffleArray(array) { for (let i = array.length - 1; i > 0; i--) { let j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; // 交换元素 } } // 打乱问题数组 shuffleArray(QAlist); // 当前问题索引 var currentIndex = 0; // Execute on all DOM loaded document.addEventListener("DOMContentLoaded", function() { // Show dialogue box showElement("#dialogueBox img"); // Show all dishes showElement('#mapo-tofu img'); showElement('#roast-duck img'); showElement('#yangzhou-fried-rice img'); showElement('#braised-prawns img'); showElement('#kung-pao-chicken img'); // Show a random customer showElement(customers[RandomCustomerIndex][0]); // Show normal Qin Shi Huang showElement('#qinshihuang img'); // Show first question var randomQuestion = questions[QAlist[currentIndex]]; document.getElementById("dialogueText").innerHTML = randomQuestion; console.log(answers[QAlist[currentIndex]]); });