我想创建一个简单的 JavaScript 程序来帮助我学习,但我很难弄清楚如何设计它。我对 JS 还很陌生,这实际上是我第一个不是从书本上复制的应用程序。
示例场景:我有多个国家/地区,并且在每个国家/地区下都有位于该国家/地区的事件。英格兰:不列颠之战,亚瑟王。美国:福特,首次登上月球。等等
我正在创建一个游戏,可以让我自己玩多个游戏。其中一个是简单的匹配游戏:您有一组事件,您必须将它们与国家/地区相匹配。另一个是问一个问题,然后我填空。
我的问题是:
- 在这样的程序中,使用 MongoDB,我会根据国家/地区将它们组织成对象,然后用事件填充它,然后将所有国家/地区放入一个大型数组中吗?
- 我如何随机化答案?我知道如何执行 random(),但我从未使用它来随机化多个潜在答案。我该如何对其进行编程,使其足够智能,随机化一个国家,然后是一个属性(property)?
- 如何随机化潜在答案和问题?每个问题都会有自己的问题和答案吗?那么我如何保证答案在我的潜在答案的随机列表中?
感谢您帮助我解决这个问题。
最佳答案
MongoDB 将所有数据存储在文档中,因此数据之间的关系越少越好。不要尝试以关系方式思考或构建数据。
我建议创建一个名为quiz
的集合。在 quiz
中,您只需要 3 个字段:country
、events
和 random
。
像这样构造你的数据:
{
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/