JavaScript 帮助 : Creating a Study Game - Matching & Fill in the Blank

标签 javascript jquery mongodb meteor

我想创建一个简单的 JavaScript 程序来帮助我学习,但我很难弄清楚如何设计它。我对 JS 还很陌生,这实际上是我第一个不是从书本上复制的应用程序。

示例场景:我有多个国家/地区,并且在每个国家/地区下都有位于该国家/地区的事件。英格兰:不列颠之战,亚瑟王。美国:福特,首次登上月球。等等

我正在创建一个游戏,可以让我自己玩多个游戏。其中一个是简单的匹配游戏:您有一组事件,您必须将它们与国家/地区相匹配。另一个是问一个问题,然后我填空。

我的问题是:

  • 在这样的程序中,使用 MongoDB,我会根据国家/地区将它们组织成对象,然后用事件填充它,然后将所有国家/地区放入一个大型数组中吗?
  • 我如何随机化答案?我知道如何执行 random(),但我从未使用它来随机化多个潜在答案。我该如何对其进行编程,使其足够智能,随机化一个国家,然后是一个属性(property)?
  • 如何随机化潜在答案和问题?每个问题都会有自己的问题和答案吗?那么我如何保证答案在我的潜在答案的随机列表中?

感谢您帮助我解决这个问题。

最佳答案

MongoDB 将所有数据存储在文档中,因此数据之间的关系越少越好。不要尝试以关系方式思考或构建数据。

我建议创建一个名为quiz的集合。在 quiz 中,您只需要 3 个字段:countryeventsrandom

像这样构造你的数据:

{
    country: COUNTRY,
    events: [ EVENT1, EVENT2, ... ],
    random: RANDOM
}

请参阅此链接了解更多信息 The Random Attribute 选择“随机”国家/地区后,您可以从数组中随机化事件。 那么只需如何将您的国家和事件设置为问答即可。

附注不清楚您是否想要随机国家及其随机事件,或者您的意思是具有不相关随机事件的随机国家。

关于JavaScript 帮助 : Creating a Study Game - Matching & Fill in the Blank,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26112158/

相关文章:

jquery - 在 jQuery 中选择具有多个类的元素

JQuery -- 我想单击一个单词来更改它,然后再次单击它以将其更改回来

javascript - 从历史中弹出最后一个状态

mongodb - Mongodb 空间查询 $geoNear 与 $near

javascript - 如何使用 useState - hook 将类组件(输入、条件)更改为功能组件?

javascript - 我应该将 DOM 操作 JS 脚本放在 `<head>` 中还是在结束 `</body>` 之前?

mongodb - MongoDB 查询中的条件 $inc

spring - 了解微服务架构

javascript - 如何使用 MUI Texfield 和 Redux 更改状态

javascript - 为什么 toPrecision 返回一个字符串?