]> _ Git - fluidbook-toolbox-quiz.git/commitdiff
wait #6463 @0.25
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 9 Nov 2023 11:00:21 +0000 (12:00 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 9 Nov 2023 11:00:21 +0000 (12:00 +0100)
js/quiz.score.js

index 05b45debfef9770e204a912d4fa235acec32c108..143720353e00675989544cc4b1b1fc928698dc14 100644 (file)
@@ -63,11 +63,16 @@ QuizScore.prototype = {
                     answerIndex = parseInt(answerIndex);
                     const answer = question.answers[answerIndex];
 
+                    let answerScore = 1;
+                    if (question.multiple) {
+                        answerScore = answer.score;
+                    }
+
                     let checkedByUser = userAnswers.indexOf(answerIndex) >= 0;
                     if (parseInt(answer.correct) === 1) {
                         if (checkedByUser) {
                             // C'est une bonne réponse et elle a été cochée par l'utilisateur
-                            this_score += answer.score;
+                            this_score += answerScore;
                             answersStatus[answerIndex] = 'ok';
                         } else {
                             // C'est une bonne réponse, mais elle n'a pas été cochée par l'utilisateur
@@ -76,7 +81,7 @@ QuizScore.prototype = {
                     } else {
                         if (checkedByUser) {
                             // C'est une mauvaise réponse et elle a été cochée par l'utilisateur
-                            this_score -= answer.score;
+                            this_score -= answerScore;
                             answersStatus[answerIndex] = 'nok';
                         } else {
                             // C'est une bonne réponse et elle n'a pas été cochée par l'utilisateur
@@ -146,6 +151,9 @@ QuizScore.prototype = {
 
     getMinScore: function (question) {
         // Le score minimal est le score que l'utilisateur doit atteindre sur une question pour que sa réponse soit considérée
+        if (!question.multiple) {
+            return 1;
+        }
         let min_score = parseInt(question.min_score);
         if (min_score === 0) {
             min_score = 0;