我正在尝试用Javascript存储“已经准备好”的数据,但是我找不到最合适的方法来实现这一点。
我的确切需求是:我正在创建一个小游戏来练习Javascript,因为在接下来的几个月中我将不得不做很多工作。 游戏是玩家经历的一种地牢,带有随机的“阶段”:从列表中选择的随机怪物将在每个阶段中生成。
我正在尝试存储这些怪物及其统计信息,但是我不知道什么是最合适的方法。我是一名前PHP开发人员,我很想使用MySQL数据库,但似乎在JS中实际上是不可能的,因为它将是在每台运行它的计算机上“本地”运行的游戏。 我曾考虑过使用对象,但我真的不知道这是一个好主意。他们将是一个“怪物”类,但是如果其中一个需要一些额外的属性,我将不得不创建一个子类,这将破坏与其他怪物的兼容性。
为什么要存储这些怪物?我之前尝试用PHP进行相同的游戏,然后我首先直接在代码中编写了怪兽。维护起来很快变得可怕,因为他们的代码超过了专用于此代码的一半。最好将所有这些数据都放在一个集中的位置,例如数据库或文件中。
总而言之,我需要一种存储数据的方法:
-无需服务器即可使用Javascript访问(它将在用户的浏览器中)
-使用起来不太复杂,或者需要大量的代码行
那么,有人有个好主意吗?
答案 0 :(得分:1)
这取决于。关于您的应用程序将增长多少,您可能需要更改整个结构。
您可以将数据存储到coxph(Surv(time, status) ~ drugName:strata(preventative), data = df)
或仅将全局变量存储到localStorage
https://www.w3schools.com/jsref/prop_win_localstorage.asp
但是我认为更重要的是您想要处理这些数据。
例如,您可能希望将数据作为标志来更改应用程序的状态,并且希望您的应用程序对该变量的更改做出反应,因此您应该为其放置侦听器。
或者您可能想要搜索数据,使用它们来呈现某些东西。
在简单的情况下,您可以使用大对象,例如:
window.Mdata
在更高级的情况下,您可能需要管理应用程序的状态。尝试阅读有关redux和react和react-redux
的信息答案 1 :(得分:0)
我当时想这是在nodeJS中,而不是在浏览器中。
我认为这里更简单的解决方案是将所有数据存储在内存中(基本上是一个包含所有数据的大对象),并将该对象保留为pur数据(因此没有方法)
示例:
{
player:{
life:20,
strength:5
...
}
foes:[...],
dungeonCells:[...]
}
然后您可以在程序退出时将该对象存储为JSON,并在启动时进行检索。
这是最快,简单,兼容的方式。
困难来自数据格式,如果要复杂的话,访问它也将是复杂的。 分割文件可以提供帮助,并且可以巧妙地管理数据。
您还可以对代码进行专门的处理,以将数据结构转换为文件格式,然后返回...
如果此解决方案还不够,那么嵌入式DB将是下一个解决方案。