Slice of Sea

Slice of Sea

Not enough ratings
转经轮解密Code Breaker
By Sealleci
转经轮解码方法
   
Award
Favorite
Favorited
Unfavorite
前言
转经轮除了能获得剧情道具,还可以解锁成就Code Breaker
请注意,谜题是动态 the puzzle is dynamic,因为我发现我的矩阵纸条和其他视频里的不一样。
数字映射 Sign Mapping
数字字符可以通过传送门界面上的序号来推断,或是通过存档序号来推断。
而矩阵纸条上的数字范围是[1,7],映射如下图:
解码 Decoding
矩阵字条,即皱巴巴的字条,是个5x5的矩阵,数字内容是动态的,且数字取值范围是[1,7]
先将矩阵字条转抄为阿拉伯数字:



然后观察四张鼓的顺序字条,将字条按序摆放,可与游戏场景中的转经轮一一对应。
字条中的每个转经筒都标有罗马数字,将其转抄为阿拉伯数字:



以第一个转经筒为例,第一个转经筒上的数字为2,然后在矩阵里查找2在哪些位置,发现2出现在了[6,10,21,23]这4个位置,所以我们要在第6、第10、第21、第23次点击时点击第一个转经筒。以此类推,按顺序点击25次转经筒即可解锁成就。
注意,谜题是动态的,每个人的矩阵字条内容不都一样。



因为自己数太慢了,所以让程序帮我数:

代码 Code
用JS写了个辅助代码,能生成顺序序列,扔浏览器里就能跑。
源代码:
var matrix = [ [5, 3, 3, 3, 5], [2, 5, 6, 1, 2], [5, 7, 3, 4, 6], [4, 6, 4, 5, 7], [2, 7, 2, 4, 5] ] var mapping = [2, 7, 4, 6, 5, 3, 1] var ans = [[], [], [], [], [], [], []] var pillar_parts = ['1上', '1下', '2上', '2下', '3', '4上', '4下'] for (let _i = 0; _i < 5; ++_i) { for (let j = 0; j < 5; ++j) { ans[mapping.indexOf(matrix[_i][j])].push(_i * 5 + j + 1) } } for (let k = 1; k <= 25; ++k) { for (let _i = 0; _i < 7; ++_i) { if (ans[_i].indexOf(k) !== -1) { console.log(`${k}${k >= 10 ? '' : ' '}: ${pillar_parts[_i]}`) break } } }
输出:


1 Comments
H. N. Elly 18 Nov, 2021 @ 5:53am 
writing programs for achievements ! nice..