我正在开发一款寻宝/密室逃脱游戏,玩家必须解决 4 个真实世界的谜题,这些谜题都给他们一个词。当他们完成所有的谜题后,他们应该前往一个小型的 web 应用程序,在那里他们可以输入他们找到的单词:然后应用程序将这些单词转换为最终的秘密——在这种情况下,4 位数字代码是一个挂锁宝物。
现在,如果有效单词列表是静态的,那会很容易,但它是一个交互式系统,其中谜题的输出在玩家之间不断变化。我试图想出一个简单的算法,这样我们就可以将PIN编码和解码成单词数组,以便可以在不同游戏中更改它们,只有设置代码的人才知道 PIN,然后更改每个游戏的答案.
这些是约束:
例如
Encode:
Input: 8370, output [“danger”, “writer”, “negative”, “origin”]
Input: 8375, output [“crab”, “junior”, “spider”, “pillar”]
Input: 2455, output [“party”, “fish”, “cookie”, “cactus”]
Decode:
Input: [“danger”, “writer”, “negative”, “origin”], output 8370
Input: [“writer”, “danger”, “negative”, “origin”], output 8370
Input: [“party”, “fish”, “cookie”, “cactus”], output 2455
Input [“pillar”, “crab”, “spider”, “junior”], output: 8375
我不一定要寻找这个问题的完整解决方案,但我真的很想知道在哪里寻找——算法、库、现有工作。找到已经这样做的应用程序或现有算法的关键字,我一无所获。我尝试了一些选项(通过将 PIN 添加为索引来循环遍历一组单词),但总是被困在如何解码它上。
由于您的数字代码由四位数字组成,因此只有 10,000 种可能性。您可以下载一本英语词典,随机生成 10,000 个与 10,000 个可能的数字代码对应的四个单词的组合。然后创建两个 Python 词典,一个将数字代码映射到英语短语,另一个将英语短语映射到数字代码。请注意,由于 Python 字典的键必须是不可变类型,因此您不能将单词列表定义为键。您将不得不使用其他一些结构,例如frozenset 或自定义类,但这主要是技术性的。如果您希望编码-解码过程与顺序无关,这不是问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句