通过python解决原神解密

        最近楼主玩原神世界任务做到稻妻了,在稻妻有很多解密游戏,但是博主最头疼的就是稻妻的石头解密QAQ(如图)

        就在昨晚,楼主又碰到了石头解密,瞎打,半天解不出来。于是就想,有没有什么严谨的方法可以100%解出这种谜题呢?

        答案是有的,而且方法还有很多种,当然,将游戏内容转化成问题的时候必然要经历抽象的过程。

        楼主在这里先给没玩过原神的小伙伴们科普一下,原神中这种石头解密存在两种石头,一种是提示石,另一种是交互石,两种石头上都有紫色的图腾指示石头的朝向。每次使用角色攻击交互石,交互石会转动90°,当所有交互石的朝向均与提示石相同时,解密成功。乍一听很简单,但是解密的难点接在于,不同的交互石可能会连锁若干其他交互石,当该交互石受到攻击时,该交互石会转动90°,同时,与之连锁的交互石也会转动90°!这就使得解出这种谜题需要动一点脑筋。

抽象

        以楼主昨晚遇到的解密为例吧。

        如图所示,提示石(中心)朝向我们,我们暂且将提示石的朝向定义为向前。由图可知,交互石1与交互石4均朝前,交互石2与交互石3均朝后。

        我们可以将交互石的四种状态(朝前、朝左、朝后、朝右)定义为0,1,2,3。接着,我们将四块交互石想象成矩阵中的元素,即交互石初始状态的矩阵表示为[[0, 2], [2, 0]]。然后将攻击交互操作抽象为交互石对应的矩阵元素+1。设矩阵元素为x,每次完成交互后,该元素变为x mod 4。当矩阵元素均为0时,解密成功。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值