← Nesim Apps

Cómo garantizamos que un Mahjong Solitario tenga solución

Por Nesim Razon, desarrollador Android independiente · 2026-11-10

Un tablero de Mahjong Solitario que no se puede terminar es una pequeña traición. Pasas diez minutos pensando y luego descubres que nada de lo que hiciste podía funcionar. En Tilelings cada reparto tiene solución, y no lo damos por esperado: lo construimos así. Esta entrada explica el método en lenguaje sencillo, incluido el punto donde termina la garantía.

El problema de los repartos aleatorios

La forma obvia de hacer un tablero es coger las fichas, mezclarlas y colocarlas en el diseño. Es rápido y es lo que hacen muchos juegos sencillos. El problema es que el Mahjong Solitario es un juego de bloqueos. Las fichas están unas encima de otras y unas al lado de otras, y una ficha solo puede salir cuando está libre. Si dos fichas idénticas acaban en los lugares equivocados, por ejemplo una justo encima de la otra, ninguna podrá quitarse jamás. Un reparto aleatorio puede contener esas trampas sin que nadie lo note.

Podrías mezclar y comprobar si el tablero tiene solución, y volver a mezclar si no. Funciona, pero comprobarlo es un problema de búsqueda que puede ser lento en un móvil y no te da ningún control sobre lo difícil que saldrá. Elegimos otro camino.

La idea: jugar antes de que existan las fichas

En lugar de colocar primero las imágenes y comprobar después, empezamos con un diseño sin imágenes, solo con posiciones vacías. Luego jugamos en él una partida de solitario de mentira. En cada paso miramos qué posiciones están libres, elegimos dos al azar y las quitamos del tablero. Anotamos las dos posiciones. Repetimos hasta que el diseño queda vacío.

La lista que hemos anotado es una secuencia completa de jugadas legales: cada pareja estaba libre en el momento de retirarla. Ahora viene la parte ingeniosa. Repartimos las imágenes siguiendo esa lista. A la primera pareja le damos dos fichas con la misma imagen, a la segunda otra pareja idéntica, y así sucesivamente. Cuando juegas el tablero terminado, la misma secuencia de jugadas está a tu disposición, porque cada pareja de posiciones estaba libre a su turno y cada pareja ahora coincide. Una solución existe por construcción.

Qué pasa en un callejón sin salida

Elegir parejas al azar puede arrinconarnos. Si quedan muchas fichas pero solo una posición libre, la partida de mentira no puede continuar. Por eso el constructor sigue una regla: después de quitar una pareja, deben quedar al menos dos posiciones libres, salvo que el tablero esté vacío. Si la regla falla, el constructor retrocede e intenta otra pareja. Esto se llama búsqueda con retroceso.

Para que sea rápido en un móvil, la búsqueda tiene un límite de unos pocos miles de pasos. Si llega al límite, descarta el intento y empieza de nuevo con otra elección aleatoria. En la práctica se encuentra enseguida una buena secuencia y el jugador nunca espera.

Un ejemplo diminuto

Imagina un diseño de solo seis posiciones en una fila, sin nada apilado. Una ficha de una fila está libre cuando su lado izquierdo o derecho está despejado, así que al principio solo están libres las dos posiciones de los extremos. Quitamos ambos extremos y los anotamos como el paso uno. Ahora las dos posiciones siguientes son los nuevos extremos, así que las quitamos como el paso dos, y las dos últimas posiciones forman el paso tres.

Después repartimos imágenes siguiendo esos pasos. El paso uno recibe un sol y un sol, el paso dos una luna y una luna, el paso tres una estrella y una estrella. La fila terminada dice sol, luna, estrella, estrella, luna, sol. Al jugarla, quitas los soles, luego las lunas, luego las estrellas: el mismo orden que construimos. Una mezcla aleatoria de las mismas seis fichas podría dar una fila como sol, estrella, luna, sol, estrella, luna, donde los soles nunca están libres a la vez. Los diseños reales tienen torres y muchas filas, así que las trampas son mucho menos evidentes, pero la idea es exactamente la misma.

Repartir las imágenes

La mayoría de las imágenes del juego aparecen cuatro veces. Las flores son cuatro fichas distintas que coinciden entre sí, y las estaciones también. Al asignar fichas las agrupamos en paquetes: cada imagen normal aporta dos parejas, que juntas forman sus cuatro fichas. Los paquetes se mezclan y se reparten entre los pasos de la solución.

En los niveles difíciles hay un giro extra. Las dos parejas de la misma imagen se reparten entre la primera mitad y la segunda mitad de la solución. Así, las fichas idénticas tienden a quedar libres en momentos distintos y no puedes coger sin más coincidencias que estén disponibles a la vez. El tablero se siente más ajustado y exige más planificación.

Elegir la dificultad

Para cada nivel construimos varios repartos candidatos, seis en la versión actual. Luego medimos cada uno reproduciendo su solución y contando, en cada paso, cuántas parejas coincidentes tenía disponibles el jugador. El promedio es un buen indicador de la dificultad. Un promedio alto significa muchas opciones y un tablero indulgente. Un promedio bajo significa pocas opciones y un tablero exigente.

Fácil toma el candidato con más opciones, Difícil el que tiene menos y Normal el intermedio. Los tres tienen solución. La diferencia es cuántas maneras tienes de equivocarte.

La misma semilla, el mismo tablero

Las decisiones aleatorias salen de un generador con semilla, así que una semilla dada produce siempre el mismo tablero. Por eso el reto diario puede ser idéntico para todos y una partida a medias se puede restaurar: el juego guarda solo tus jugadas y la semilla, y reconstruye el tablero repitiéndolas.

Mezclar, pistas y el límite honesto

La garantía se refiere al reparto con el que empiezas. No dice que cualquier secuencia de jugadas termine en victoria. Un jugador aún puede coger una pareja que entierre las dos últimas copias de una ficha, y desde ese momento el tablero es imposible. Eso forma parte del puzle.

Para esos momentos el juego tiene ayudas. La Pista usa un solucionador real. Busca en la posición actual, prueba primero las jugadas que liberan más fichas, recuerda las posiciones que ya ha demostrado que no tienen salida y tiene un límite en el número de posiciones que examinará. Si encuentra una solución completa, la pista es su primera jugada. Si llega al límite, recurre a la jugada que libera más fichas. Mezclar ejecuta de nuevo el mismo proceso de construcción hacia atrás, esta vez sobre las posiciones restantes y con las imágenes restantes agrupadas en parejas. El tablero mezclado vuelve a tener solución. Muy rara vez el problema son las propias posiciones restantes, por ejemplo cuando dos fichas quedan apiladas. Entonces ninguna mezcla ayuda y el juego te lo dice para que puedas deshacer o reiniciar.

El modo Conectar usa el mismo truco

Conectar, el modo en que unes fichas con un camino de como máximo dos giros, se construye igual. Empezamos con una cuadrícula llena, elegimos repetidamente dos fichas que se puedan conectar en ese momento, las quitamos, aplicamos la regla de deslizamiento de ese nivel y anotamos la pareja. Las imágenes se reparten siguiendo la lista anotada. El tablero tiene solución, y el mezclado también.

Por qué nos importa

La dificultad honesta importa. Cuando un puzle es difícil porque exige planificar, se siente justo y quieres volver a intentarlo. Cuando es difícil porque el reparto estaba roto, parece un truco. Construir los tableros hacia atrás nos permite prometer lo primero. Si alguna vez te encuentras con un tablero que parece imposible, usa Deshacer, pide una pista o mezcla. Desde el principio siempre hay un camino.

Preguntas frecuentes

¿Todo reparto de Mahjong Solitario en Tilelings tiene solución?

Sí. Cada reparto se construye a partir de una secuencia de jugadas legales, así que al empezar existe al menos una solución.

Entonces, ¿cómo puedo quedarme atascado?

Porque algunas secuencias de tus propias jugadas pueden enterrar fichas que coinciden. La garantía cubre el reparto inicial, no todos los caminos.

¿Cómo sigue siendo resoluble Mezclar?

Reconstruye las posiciones restantes con el mismo método hacia atrás y con las imágenes restantes.

¿Son siempre correctas las pistas?

Una pista sale de una búsqueda en la posición actual. Si la búsqueda termina, sigue una solución real. Si no, sugiere la jugada que libera más fichas.

Más del blog