Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

207
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda