0

我在 Blackboard(2010) 上为测试人员创建了一个小课程。我正在使用 pipwerks 包装器(我们使用 2004),虽然我的成功和完成状态已成功发送到我们的黑板上,但分数没有得到传达(已在 ScormCloud 上测试)。我将在下面发布相关代码。任何帮助将不胜感激!

$(document).ready(function () {
        pipwerks.SCORM.data.set('cmi.score.min', '0');
        pipwerks.SCORM.data.set('cmi.score.max', '100');
    });

// Loads questions if there are any remaining
        if (questionNumber < shuffledQuestions.length) {
            generateAssessmentSlides();
        } else {
            var finalScore = yourScore / 100;
            nextSlide();
            $(".score").html(yourScore);

            // Sets assessment score
            pipwerks.SCORM.data.set("cmi.score.raw", '' + finalScore + '');

            // Sets assessment as completed
            pipwerks.SCORM.data.set("cmi.completion_status", "completed");

            // Saves status before results
            pipwerks.SCORM.data.save();

            // Shows pass/fail screen depending on the score and shares that data with the LMS

            if (finalScore >= passingScore) {
                pipwerks.SCORM.data.set("cmi.success_status", "passed");
                pipwerks.SCORM.data.save();

            } else {
                pipwerks.SCORM.data.set("cmi.success_status", "failed");
                pipwerks.SCORM.data.save();

            }
        }
    });
}
4

1 回答 1

0

在为 SCORM 2004 记录分数时,您通常会包括四个数据点:最小、最大、原始分数和缩放分数(由原始 / (max - min) 计算)。根据上面的代码,您需要进行如下调用:

pipwerks.SCORM.data.set('cmi.score.min', '0');
pipwerks.SCORM.data.set('cmi.score.max', '100');
pipwerks.SCORM.data.set("cmi.score.scaled", '' + yourScore + '');
pipwerks.SCORM.data.set("cmi.score.scaled", '' + finalScore + '');

在您的调试日志中,我们看到原始分数实际上已报告给 LMS,但由于您使用缩放分数 (0.2) 作为原始分数值(应该有20)。

于 2018-11-08T19:49:21.417 回答