所以,我正在开发一个基于文本的Javascript / HTML游戏,其中角色有一个'库存'他们在整个游戏中发现的东西(金钱,食物,水等)。这不会是一场短暂的比赛,所以我想让球员能够从他们离开的地方开始。此外,我想这样做没有PHP / MySQL或任何语言,但HTML / JavaScript。所以我的想法是这样的:假设一个角色在游戏中的某个位置使用代码2918,他们有0129美元,688' water' 0029'食物'这些值将会存储时存储在一个字符串(2918012900040029)中,他们需要保留此代码并在下次加载游戏时输入该代码。这就是我被困的地方。当他们下次播放时输入代码时,我想取一串数字,每四个字母分解一次,然后将每个块存储在一个数组中。让这个工作的任何想法?
答案 0 :(得分:2)
使用json绝对是一种选择。但是,听起来您有兴趣构建一个用户可以输入的令牌,解码为某些给定的信息。
我相信在这种情况下你可以很好地利用JWT的
JWT是经过编码的字符串,一旦解码就会提供一个JSON对象,可以仅用于您请求的目的。
您可能希望在玩家注册时创建JWT并在玩家输入其令牌后(如果您希望他们需要额外的密码以便轻松工作)。令牌将被解码,您将能够处理所有存储的信息。
答案 1 :(得分:2)
好的,如果您只是在寻找如何将字符串拆分为4个字符的组并将em放入数组中,您可以使用正则表达式和String.match();
匹配4个字符组的This is the regular expression
var str = '2918012900040029';
var strArray = str.match(/(.){4}/g);
//prints '["2918", "0129", "0004", "0029"]'
console.log(strArray);
//Alternatively your could use substr() and split it manually or with some looping
var str = '2918012900040029';
var strArray = [str.substr(0,3),
str.substr(4,7),
str.substr(8,11),
str.substr(11,15)];
答案 2 :(得分:1)
您可以使用JavaScript Cookie。制作一个cookie:
document.cookie = "location=2918;money=0129;food=0029;water=0004;expires="+expirydate;
此处expirydate是一个UTC字符串,告知何时应该删除cookie。
从Cookie中检索数据:
document.cookie
这将输出:
"location=2918;money=0129;food=0029;water=0004"
正如您所说,您希望将这些值存储到数组中,然后您可以使用substr()
将此字符串剪切成碎片。
阅读本教程,了解JavaScript Cookie教程:http://www.w3schools.com/js/js_cookies.asp