2016-11-23 83 views
0

一些背景:我是一個幾乎全部的初學者,在業餘時間學習編寫HTML/CSS/JavaScript。請溫柔。 :)創建一個多選題測驗「遊戲」

我的一位朋友,專業程序員,在我的業餘時間爲我準備了一個小項目。

我正在創建一個測驗遊戲,要求用戶將隨機選擇的英語單詞與四個瑞典單詞中的一個匹配。我碰到了一個小問題:我不知道如何確保我選擇與問題相對應的測驗答案。

我寫了下面的變量:

var quiz = [ 
    {question: 'yes', answers: ['ja', 'förlåt', 'brör', 'samtal'], correct: 0}, 
    {question: 'sorry', answers: ['att försöka', 'förlåt', 'ingen', 'vår'], correct: 1} 
]; 

而這個功能:

function engQuestion() { 
    return quiz[Math.floor(Math.random() * quiz.length)].question; 
} 

中的HTML,我有這樣的:

<div class="question"> 
    <h2> 
    <script> 
     document.write(engQuestion()); 
    </script> 
    </h2> 
</div> 

這是我的出發點。我想知道如何從變量中獲得與我的問題相匹配的正確答案。如果我寫:

return quiz[Math.floor(Math.random() * quiz.length)].answers; 

這顯然給一組隨機從整個變量,而不是一組從問題的相應的問題陣列答案的答案。

有沒有辦法從同一個隨機數返回問題和答案?

我沒有找到這個問題的一個很好的答案的原因是,大多數測驗問題都涉及到一個測試,其中問題以特定的順序給出,而不是隨機選擇的問題。

非常感謝您的幫助。

我意識到這對你們中的一些人來說似乎很簡單,所以我對此表示歉意。

+0

您需要存儲因此讓屬於過這個問題的答案目前的隨機數。嘗試將其與變量,cookie或本地存儲一起存儲。 – thekodester

回答

0

我想把隨機數賦給一個var並返回測驗問題並用該變量回答。

var ran_num = //random number 
return quiz[ran_num].question 

同樣可以用來返回答案。我不知道這是你的意圖。

1

這可能會讓你開始。然後,您可能想考慮是否將答案列在列表中,例如<ul>,這將是一個好主意。然後,當你點擊一個答案時會發生什麼。

var quiz = [ 
 
    {question: 'yes', answers: ['ja', 'förlåt', 'brör', 'samtal'], correct: 0}, 
 
    {question: 'sorry', answers: ['att försöka', 'förlåt', 'ingen', 'vår'], correct: 1} 
 
]; 
 

 
var engQuestion = function() { 
 
    
 
    let randomNumber = Math.floor(Math.random() * quiz.length) 
 
    
 
    let question = quiz[randomNumber].question 
 
    let answers = quiz[randomNumber].answers 
 
    
 
    document.getElementById('question').innerHTML= question 
 
    document.getElementById('answers').innerHTML= answers 
 

 
} 
 

 
engQuestion();
<div class="question"> 
 
    <h2 id="question"> 
 
    </h2> 
 
    <h2 id="answers"> 
 
    </h2> 
 
</div>