Veo en la televisión un concurso, en donde se trata de formar palabras. Dichas palabras pueden ser de una cantidad de letras variables, inicialmente, pero una vez que ya se puso la primera palabra, la longitud de las siguientes palabras queda fija. El concurso trata de encontrar palabras que empiecen con la primera letra de la primera inicial, tenga la misma longitud que la palabra original, pero que no se repitan ninguna
de las letras en el orden que están en la primera palabra.
Por ejemplo, imaginemos jugamos nosotros (por teléfono es el concurso), y que la primera palabra (la que se da inicialmente en la televisión) es
PELOTA
Ahora sabemos que tenemos que formar palabras que empiezan con ‘P’, que deben de ser de seis letras, y que además, con las siguientes restricciones: ya no puede ponerse en la nueva palabra una ‘E’ en la segunda letra, una ‘L’ en la tercera, una ‘O’ en la cuarta, una ‘T’ en la quinta y una ‘A’ en la última letra. ¿Qué palabra podemos poner? A mi se me ocurre ‘PASTAS’
Entonces si esa es la palabra elegida por el concursante tendremos
PELOTA
PASTAS
Aquí entonces empiezan más problemas. Ahora la tercera palabra no debe tener ni una ‘A’ ni una ‘E’ en la segunda letra, ni ‘S’ ni ‘L’ en la tercera posición, ni ‘O’ ni ‘T’ en la cuarta posición, ni ‘A’, ni ‘T’ en la quinta posición y tampoco ‘A’ ni ‘S’ en la sexta posición. Las restricciones crecen palabra a palabra. Pensemos en alguna otra… Por ejemplo ‘PIEDRA’, pero no sirve, porque termina en ‘A’ y ya está en la sexta posición (en ‘PELOTA’) esa ‘A’. Pensemos en alguna otra… ‘PUDRIR’. Parece que ésta sí se puede poner… Veamos
PELOTA
PASTAS
PUDRIR
Y así sucesivamente. El juego -como puede verse- tiene cada vez más restricciones y cada vez resulta más difícil poner una palabra. Debe llegar el momento en el que ya no se puede poner ninguna. Por cada palabra puesta, se gana dinero, creo que se va duplicando, así que se puede llegar a un monto interesante.
Hasta aquí el juego. Cuando lo vi pensé que sería muy fácil hacer un programa que buscara en un diccionario las palabras y dadas las restricciones, me fuera diciendo qué palabras sería posible poner. No debe ser un programa difícil de hacer. pero la cuestión era, ¿de dónde sacaría yo un diccionario con muchos términos para ser usado? Casualmente ese día, mientras pensaba cómo hacer, me reuní con el “Gemelo” (Jesús Ortega, también conocido como Yixus), que ha sido (o es) el campeón nacional de Scrabble. La tesis del gemelo fue precisamente sobre un programa para jugar scrabble y él, por ende, tenía un amplio diccionario, el cual, al platicarle mi idea, compartió para que este programa pudiese hacerse.
Al llegar a mi casa encontré que Jesús ya me había mandado el archivo con 449 305 palabras, casi medio millón. Nada despreciable… Así, puse manos a la obra y en un par de horas hallé cómo hacer las búsquedas, incrementando las restricciones obligadas por el juego.
Como ejemplo, mi programa
Si quiere ver esta idea trabajar, escríbame a [email protected] y le mandaré el programa a su correo (incluye el diccionario): Instale el programa corriendo el ejecutable. Este procedimiento es todo automático y al final tendrá un icono que al darle doble click, ejecuta el software. Encontrará entonces un menú muy simple: ‘Juego’ y ‘Ayuda’. Normalmente puede empezar el juego o bien pedirle que haga un juego nuevo. Coloque la primera palabra en el casillero que dice
Palabra del concurso
Ésta es la palabra inicial. Ahora puede decirle al programa, dando click sobre el botón ‘Buscar’, que le dé una palabra diferente a la primera, considerando las restricciones que inicialmente se ponen. Consideremos el ejemplo original, en donde la palabra inicial es
PELOTA
Si le damos buscar, nos dará un montón de palabras… De aquí elegí, por ejemplo, ‘PANZON’. Así, el juego queda así:
PELOTA
PANZON
Podemos escribir la palabra en la caja de ‘palabra del juego’ o bien, marcar la palabra con el ratón y dar doble click. la palabra pasará a la ventana del juego. Puede verse que el programa encontró 796 palabras que pueden ponerse ahí. Ahora intentemos una segunda búsqueda, que por ende, será más restrictiva que la anterior y nos dará, definitvamente, cada vez menos palabras… Nos da 371 palabras. Elegí PICADO y la puse como la tercera palabra:
PELOTA
PANZON
PICADO
Sigamos. Una nueva búsqueda y tenemos…170 palabras que puedo poner… Elegí PLACAS…
PELOTA
PANZON
PICADO
PLACAS
Una búsqueda más y obtenemos ahora sólo 36 palabras… Elegimos PORQUE y la pongo en el juego.
PELOTA
PANZON
PICADO
PLACAS
PORQUE
Hacemos una búsqueda más y sólo hallamos 9 palabras… Elijo PRIMER y la coloco en el juego
PELOTA
PANZON
PICADO
PLACAS
PORQUE
PRIMER
Hagamos una búsqueda más… ¡Genial! el programa encontró dos… Pongo PUERIL…
PELOTA
PANZON
PICADO
PLACAS
PORQUE
PRIMER
PUERIL
Una búsqueda más no da más palabras… Pero el sistema nos dio siete palabras y no tuvimos ni que pensar…
Reto lúdico
Hacer un programa que haga lo que mi programa hace, de acuerdo a ls especificaciones planteadas. El ganador se llevará una taza con el logotipo de La Morsa y Microsoft, que está apoyando estos retos lúdicos. Podría haber otros premios adicionales (camisetas, gorras, etcétera), pero aquí lo que importa es precisamente el trabajo de los programadores. Cabe decir, como en otras ocasiones, que estos retos son de buena fe, en donde se busca que todos aprendamos. Los que participen deben entregar el código fuente de su programa y el ejecutable, y si es posible, una breve explicación de lo que hicieron. El ganador será el que entregue primero que los demás y que su programa cumpla con las especificaciones del problema. La decisión final es mía y créanme, se hace siempre de buena fe.
Este programa pretende ser una ayuda para jugar este juego en la televisión. No sé las condiciones del juego y si es válido o no ayudarse de la computadora. Tampoco sé el procedimiento para concursar. Aparentemente hay que llamar por teléfono y mandar un mensaje por celular. Quizás de ahí sacan al concursante. No lo sé.