首页 > 解决方案 > 如何计算 SCORM 交互?

问题描述

我不知道在使用 SCORM 时如何获得分数。我有我猜的交互信息,但是如何设置最大值、最小值、原始值?有1道选择题,100分(测试用)。

submitMCQ(correct, response) {
    let nextIndex = SCORM.get("cmi.interactions._count", true);
    //record interaction id
    SCORM.set("cmi.interactions." + nextIndex + ".id", "round_" + nextIndex);
    //record interaction type
    SCORM.set("cmi.interactions." + nextIndex + ".type", "choice");
    //record interaction of students choice
    SCORM.set("cmi.interactions." + nextIndex + ".student_response", response);
    //record interaction of correct choice
    SCORM.set("cmi.interactions." + nextIndex + ".result", correct);

    //HOW TO GET SCORE FROM CORRECT CHOICES?
  },

标签: interactionscormscorm2004scorm1.2scorm-cloud-api

解决方案


通常,您可以有一个与具有得分点的交互相一致的目标。

https://github.com/cybercussion/SCOBot/blob/master/QUnit-Tests/js/scorm/SCOBot.js#L868

您可以大致了解我是如何处理循环的,以在内容 API 级别提供帮助,因为 SCORM 完全是每个请求的单个键/值获取。

我在 2009 年左右设计了 SCOBot,因为我目睹了团队之间发生如此多的代码重复,并且当时使用了 SCORM 的更高级功能。当时的大多数其他选项要么太昂贵,要么没有包含很多这种 SCORM 通信,这让开发人员只能自谋生路。

该项目主要分为基础 SCORM 通信,然后 SCOBot 附加组件包装了所有常见任务,以帮助使这些交互更容易。如果您有更深层次的问题,实际上有一个关于该项目的 Wiki。 https://github.com/cybercussion/SCOBot/wiki


推荐阅读