2014-01-29 5 views
1

У меня есть отредактированный/отредактированный код ниже для простой математической игры. Вы вводите сумму, которую хотите решить, а затем решите ее!Пытается создать математическую игру

Проблема, с которой я столкнулся сейчас, заключается в том, что в самом конце она отображает только счет.

Я стараюсь, чтобы он не только отображал оценку, но и количество вопросов, которые вы ввели для решения. Поэтому это скорее «вы получили» оценку «из» вопросов, введенных правильно. Ниже приведен код и ссылка на Fiddle.

http://jsfiddle.net/justinw001/Mttw6/12/

$(function() { 
    var score = 0; 
    var questions = []; 
    $('#gen').click(function() { 
     score = 0; 
     questions = []; 
     var questionAmount = parseInt($('#inputElement').val(), 10); 
     for (var i = 0; i < questionAmount; i++) { 
      var q = { 
       x: Math.floor(Math.random() * 13), 
       y: Math.floor(Math.random() * 13) 
      }; 
      questions.push(q); 
     } 
     nextQuest(questions.pop()); 
    }); 
    $('#sub').click(function() { 
     var ans, x, y; 
     if (questions.length >= 0) { 
      ans = parseInt($('#answer').val(), 10); 
      x = parseInt($('#input1').text(), 10); 
      y = parseInt($('#input2').text(), 10); 
      if (ans === x * y) { 
       score++; 
      } 
      nextQuest(questions.pop()); 
     } 
    }); 
    var nextQuest = function (q) { 
     if (q) { 
      $('#input1').text(q.x); 
      $('#input2').text(q.y); 
      $('#answer').val(''); 
      $('#inputElement').val(questions.length); 
     } else { 
      $('#input1, #input2').text(''); 
      $('#answer, #inputElement').val(''); 
      alert(score); 
     } 
    }; 
}); 
+2

Где именно вы застряли? –

+0

Здесь поможет jsFiddle. – j08691

+0

В начале вопроса, который я задаю, есть сценарий. – user2918151

ответ

2

Объявить questionAmount вне функции

$(function() { 
    var score = 0; 
    var questions = []; 
    var questionAmount=0; //here 
    $('#gen').click(function() { 
     score = 0; 
     questions = []; 
     questionAmount = parseInt($('#inputElement').val(), 10); 

тогда, когда вы бдительный сделать это

alert(score+" out of "+questionAmount + " correct"); 

DEMO

+1

спасибо, сэр! Это очень помогло мне. – user2918151

0

Here - рабочая скрипка того, что вы хотите. Просто добавьте var numberOfQs;, затем установите его на questionAmount и предупредите его со счетом.

Смежные вопросы