对于基于浏览器的回合制棋盘游戏,如何通过游戏更改重新加载页面?

时间:2019-04-13 02:05:33

标签: javascript html css database

我是Java的新手,作为一种锻炼,我正在做一个棋盘游戏的浏览器版本。

由于我是HTML世界的新手,所以我想了解更多有关Boiteajeux.net等网站上的异步游戏如何工作的信息。

我可以按照我的游戏中的步骤进行操作(我已经编写了很多逻辑程序),但是我不确定如何“保存”该信息,以便当游戏再次加载时,更改信息可以重新加载。

我对数据库及其存储方式了解不多,所以也许这就是我的知识漏洞。

我希望能够对游戏中的每个“移动”进行永久性的更改,以便在我点击刷新后不会返回到游戏前状态。 / p>

这是如何工作的?

1 个答案:

答案 0 :(得分:0)

如果只希望刷新之间保持本地持久状态,则可以考虑使用localStorage。 LocalStorage是Document的存储对象的只读属性。与SessionStorage不同,存储的数据不会过期。

您可以像这样设置本地存储中的关键项:

localStorage.setItem('myKey', 'some data');

您可以像这样读取存储的项目:

var myItem = localStorage.getItem('myKey');

还有.remove('myKey').clear()方法可用于删除项目和清除存储对象。

假设您的游戏状态存储在某个状态对象中,则可以在状态更新时存储字符串化对象。

类似的东西:

localStorage.setItem('gameState', JSON.stringify(currentState));

并像这样访问浏览器加载时的状态:

var currentState = JSON.parse(localStorage.getItem('gameState'));

这比设置数据库要容易得多,但是如果要从另一个浏览器访问游戏状态,则可能需要使用数据库。