Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

211
Views
Asigne un PIN hacia y desde una matriz de cadenas

Estoy trabajando en un juego tipo búsqueda del tesoro/sala de escape, donde los jugadores tienen que resolver 4 acertijos del mundo real que les dan una palabra. Cuando hayan completado todos los acertijos, deben dirigirse a una pequeña aplicación web donde pueden ingresar las palabras que encontraron: la aplicación luego convierte estas palabras en un secreto final, en este caso, el código de 4 dígitos en un candado con un tesoro.

Ahora, sería fácil si la lista de palabras válidas fuera estática, pero es un sistema interactivo donde la salida de los rompecabezas cambia constantemente entre los jugadores. Estoy tratando de pensar en un algoritmo simple para que podamos codificar y decodificar PIN en y desde conjuntos de palabras, para que puedan cambiarse entre juegos, y solo las personas que configuran el código conocen el PIN y luego cambian las respuestas de cada juego. .

Estas son las restricciones:

  • la aplicación no necesita saber si un código es correcto o incorrecto. Solo tiene una función de codificación (aquí hay un código de candado, dame 4 palabras) y una función de decodificación (aquí hay 4 palabras, dame un código de candado coincidente). Entonces, los jugadores pueden ingresar cualquier palabra y recibir un código a cambio, pero no hay garantía de que sea el correcto.
  • idealmente, el orden de las palabras no importa (dado que la entrada "fiesta de la leyenda de la hierba verde" genera el mismo PIN que "leyenda de la fiesta de la hierba verde"), pero parece que podría complicar mucho las cosas, así que estoy feliz de hacerlo. por lo que los códigos deben ingresarse en un orden determinado
  • esto es para un juego, no hay necesidad de estar criptográficamente seguro aquí
  • Ya tengo una serie de palabras secretas, así que esencialmente solo necesito encontrar una serie de 4 números a partir de un número base que siempre saldrá igual.

Por ejemplo

 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

No necesariamente estoy buscando una solución completa a este problema, pero realmente me gustaría tener indicaciones sobre dónde buscar: algoritmos, bibliotecas, trabajo existente. Las palabras clave para encontrar una aplicación que ya hace eso, o un algoritmo existente, no me llevaron a ninguna parte. Probé algunas opciones (recorriendo una serie de palabras agregando el PIN como índice), pero siempre me quedé atascado en cómo decodificarlo.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Dado que su código numérico está compuesto por cuatro dígitos, solo hay 10,000 posibilidades. Puede descargar un diccionario de inglés y generar aleatoriamente 10.000 combinaciones de cuatro palabras correspondientes a los 10.000 códigos numéricos posibles. A continuación, cree dos diccionarios de Python, uno que asigne un código numérico a una frase en inglés y el otro que asigne una frase en inglés a un código numérico. Tenga en cuenta que dado que la clave de un diccionario de Python tiene que ser de un tipo inmutable, no puede definir listas de palabras como claves. Tendrá que usar alguna otra estructura, como frozenset o una clase personalizada, pero esto es principalmente un tecnicismo. Si desea que el proceso de codificación-descodificación sea independiente del orden, esto no es un problema. Simplemente ordene lexicográficamente las cuatro palabras pasadas al método de decodificación y defina otro diccionario que mapee una frase en inglés dada en orden lexicográfico a la frase en inglés deseada (mismas palabras, orden potencialmente diferente).

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!