我正在制作具有旧式风格的Flash游戏,因为它是如此古老的学校,我希望它也可以进行密码保存。不幸的是,我无法使用通常的解决方案 - 密码和相应级别的数组,其中一个是给Arcadeprehacks上的人们带来困难,另一个是我想要在游戏中保存并加载所有得分和生命
关于密码,即我想要的东西
我需要一些解决方案来将数字值编码为字符串,其值为:
Lives - up to 2 digits
Score - 10 digits
Level number - 3 digits
它还可以使用2个附加值,可以是数字或文本,其他任何值都将转换为字符串。
它无法转换为任何字符串 - 只能包含数字和大写字母。
答案 0 :(得分:0)
答案 1 :(得分:0)
在服务器端SQL上保留密码。
答案 2 :(得分:0)
根据我的理解,你想要的是:
var livesString:String = new String(lives);
var scoreString:String = new String(score);
for(var i:int = scoreString.length; i < 10; i++)
{
scoreString = "0"+scoreString;
}
var lvlNumString:String = new String(lvlNum);
for(var i:int = lvlNumString.length; i < 3; i++)
{
lvlNumString = "0"+lvlNumString;
}
var password:String = livesString+scoreString+lvlNumString;
那应该给你一个包含你想要的数据的字符串。对于这两个“附加值”,只需将它们添加到password
上,如下所示:
password += myVar.toString();
然后执行此操作以使任何文本大写:
password.toUpperCase();
顺便说一下,你说生命的价值应该是“最多2位数”,但是如果你想要它只是2位数,那么只需使用类似于上面的for
循环。
答案 3 :(得分:0)
您可以使用一些基本的解码器环逻辑来生成代码。零成为“F”,一个成为“B”等。任何决心攻击你的应用程序的人都可以翻译它,但这需要一些努力。
您可以通过投入无用的数据来进一步模糊数据。例如,在第三个字符位置输入一个随机字符,然后让解码器始终忽略第三个字符。