作者:GC·Code
GC·Code
covers
内容简介:超过1000字
2023/02/12 20:10

如何制作简易存档2

为什么过了这么久我才更新呢?

你以为的——

每天写一些,过了这么多天才写好。。。

实 际 的——

前几天不写,又一天闲着没事写了,至于为什么前几天不写呢?很简单,懒得写

咳咳,回归正题(图片测试)

咦?这不是可以嘛?上次是谁说不行的?给我斩了!

上次说到了,怎么构成存档码,这次来讲怎么读取存档码:

首先我们要循环遍历这个存档码,上期我们使用"_"这个做间隔符的,这次还用这个,也还用这个🐏例:"100_100"昂

首先定义一个变量叫:项 循环的次数是存档码的字符数,下面是图片参考:

然后呢每循环一次就把项增加1,项的初始值为0(由于图片比较占位置这次我就不发了)

然后判断一下,存档码中的第"项"个字符是不是分隔符(后面是重点!)

如果不是的话说明这个和前面的数字是一起的,我们要再定义一个变量,叫"连接数字",如果不是分隔符就是数字,所以就要把他和前面的数字连在一块,而连接数字就是前面的数字,所以只要把连接数字*10(给当前要连接的数字加位置)再加上这个数字即可,下面是图片参考:

如果是分隔符说明前面的数字连接完了,这就是一个数据,由于不知道这个数据对应那个游戏数据所以。。。先存到列表里!

存完之后别忘了清空连接数字噢,下面是图片参考

注意奥,因为每次遇到一个分隔符就会把一个数据存进列表中,但是样例:100_100有一个分隔符,却有两个数据,说明最后一个数据读取完了,但是没有存进去,所以可以再把回答内容存到"存档码"这个变量的时候就再最后面加一个分隔符,如下图:

最后只要根据你存档码构成的数据顺序来尽心设置就可以了,比如100_100这个样例代码执行完毕后列表中的应该是: 100 100 这个存档码我是先放金币100再放钻石100的,所以,第一个100是金币,第二个100是钻石!

好了这次的《如何制作简易存档》就讲完了,出现问题可以问我

下一期讲的是加密,不加密的话,别人很轻松就会把你的存档码破解哦~~~

记得多多支持我噢

评论区

登录之后才能评论Scratch作品哦

[钻]:10 [金]:10

@BcRDProduction

通过关键字将值附到对应的变量/列表里

黑衣人2 年前

炊更

黑衣人2 年前

炊更

这个貌似不能存文字

北柠Tracy2 年前

文章中怎么加图片的?

GC·Code2 年前
@北柠Tracy

吧图片粘贴到评论区时会出现一串代码,吧那个代码复制过来就可以了

北柠Tracy2 年前
@GC·Code

OK谢谢

鸡仔之巅2 年前
@GC·Code

求你快更新

鸡仔之巅2 年前
@GC·Code

求你了,快点

GC·Code2 年前
@鸡仔之巅

明天

鸡仔之巅2 年前
@GC·Code

##嗷嗷嗷,我跟你拼命讲道理##

GC·Code2 年前
@鸡仔之巅

o

鸡仔之巅2 年前
@GC·Code

我手里有🔫举报权力

北柠Tracy2 年前

有的时候如果存档各项信息的位数一致,可以不用分隔符的

我给靓二的存档码就是直接用六位一读取

然后先转62进制,每六位压缩成三位

然后用圆周率随机秘钥位上的对应数字,乘以存档字符所在位数进行变换

秘钥有三位,可以确保圆周率的0~9每个数字都出现

秘钥就是存在2^1,2^2,2^3位上的三位数字

这样可以最大限度防止破译(?)

例如存档码 028 021 128 128 113 097 100 064(八个信息)

先六位读取

就是 028021 128128 113097 100064

分别转62进制,就是 7Hx XKa TQ9 Q1w

生成一位三位的随机秘钥,例如016

然后数圆周率,就是 314159265358979323846……

第十六位是3

那么就用秘钥乘以位数,例如第一位是7,作62进制下 7+3×1=A

如果超出,例如第十二位w,那么就取尾数,w+c×3=1W,这一位就取W

全部做完转换就是 AN6 jZs qqb wYW

最后植入秘钥,就是

AN 0 6 j 1 Zs qq 6 b wYW

最后组合 AN06j1Zsqq6bwYW

北柠Tracy2 年前
@北柠Tracy

这个加密方法是我自创的,进制转换和凯撒变换大乱炖(什

北柠Tracy2 年前
@北柠Tracy

这样的加密,破译是不大可能了

北柠Tracy2 年前
@北柠Tracy

这个是为了做tilecraft的存档码用的,因为原生的存档码有882位,压缩一下就成了445位(((

评论区就可以放得下了

鸡仔之巅2 年前
@北柠Tracy

不错

GC·Code2 年前
@北柠Tracy

这样确实很好,但是你有没有想过一个问题,用不着这么复杂,因为没什么人绘画这么久的时间破译这玩意,用字符串加密即可

北柠Tracy2 年前
@GC·Code

a

北柠Tracy2 年前
@GC·Code

这个加密机制主要是为了压缩存档码大小,压缩率可以达到50%左右

北柠Tracy2 年前
@GC·Code

其实后面加不加秘钥都没事的(((

GC·Code2 年前
@北柠Tracy

。。。。。。