“测验”类型的游戏需要数据库吗?

时间:2015-03-29 22:42:40

标签: javascript html css database

我对数据库了解不多,最近我一直在问他们一些关于他们的问题,以便更好地理解这些数据库,但我仍然对于什么做什么和不做什么感到困惑。需要一个。

我正在使用HTML / CSS / JavaScript创建一个简单的应用程序,它有一些测验和"教程"针对儿童。我不希望下一个教程/测验解锁,直到完成上一个教程/测验。

因此,我需要一个数据库,以便它能够保存"什么时候完成?我不需要保存分数或类似的东西,只要他们获得及格分数就可以继续前进。

4 个答案:

答案 0 :(得分:5)

任何其他要求,例如保存到个人资料或需要在会话之间保留(例如更换设备)?

浏览器现在有localStorage个API,允许您保存大量数据(并将其保留一段时间)。还有一些很好的''''''''''''''''''''''''''''''''

请记住,上述两项都要求用户使用相同的浏览器并允许这些机制。显然,使用“私密”/“隐身”浏览也会影响保存状态。

这取决于您的要求。

编辑刚刚看到您提到的移动应用。如果您计划允许体验超越设备,则需要一个数据库。否则,如果他们使用跨设备同步(例如Chrome和Firefox会使用书签,密码等),你会非常依赖它们。

答案 1 :(得分:3)

如果您不介意人们可以查看来源"在网页上或使用每个浏览器'开发人员工具可以找到答案或继续学习下一个教程或测验,然后您可以use cookies to store用户的状态。或者您可以使用首选的Web Storage API

您可能需要查看Firebase。在Web浏览器上使用简单的JavaScript,您可以非常轻松地让用户登录(或者只允许他们通过Facebook或其他服务登录)。然后,您也可以非常轻松地存储和检索数据,例如测验,教程和结果。这样,即使他们擅长分析网页,也无法看到答案。

答案 2 :(得分:1)

当您不使用数据库时,在进行任何检查之前,您必须在静态页面中加载所有数据。

所以我的懒惰:将学生的情况存储在一个cookie中。在每个页面上检查cookie状态,然后使用Jquery remove()删除(客户端)他/她无法访问的页面部分。

修改

禁用JavaScript时,这不起作用。

答案 3 :(得分:0)

似乎有很多想法,但没有澄清数据库主题。

TL; DR是:否。

现在具体细节。数据库只不过是一种存储信息的方式。而传统的" SQL"数据库(发音为"续集"如在"我的续集"用于MySQL)具有表的概念,您可以在其中定义包含要存储的项的列,并使用其值保存每一行,非常类似一个Excel文件,一些像Redis这样的数据库存储键值对,另一些像MongoDB存储JavaScript对象。

您可以将信息存储在源代码(可能是As Variables)或文件中。数据库是组织该信息的一种方式。

据说,在您的情况下,您可能需要后端或API。 API基本上是通过AJAX与服务器通信的一种方式(浏览器中的JavaScript要求提供东西)。这将是您根据需要从服务器检索信息的方式,这样用户在回答之前就不会看到答案。

除此之外,还有一些选择。 FireBase(如其他答案所述)和AppBase是轻松整合这一概念的方法。但是他们将您和您的信息绑定到他们的系统,并且他们主要针对更多资源密集型应用。

由于您正在使用JS并且似乎在享受您的学习经历,我建议您考虑使用NodeJS并将数据定义为JSON文件或JS中的变量。你一直在处理你的问题但是添加选项并学习一些东西。

如果您决定整合数据库并可能做一些简洁的事情,那么您已经完成了大部分基础工作。

如果NodeJS选择了您的兴趣,我认为Mean.IO和KrakenJS是最好的起点,尽管在您的具体案例中它们似乎都有点过分。

请注意:数据库只是拼图中的一小部分,而且它主要是一种可怕的方式来命名一些试图组织您的信息的软件。首先考虑是否需要组织信息,以及需要组织什么和如何组织,然后开始考虑数据库是否是组织它的最佳方式。