Infografía · PuzzleHub Journal

El agua siempre encuentra su nivel

mismo nivelregionesconteos
Una lectura visual del sistema de restricciones que define este capítulo.

Cómo se juega

El tablero está dividido en regiones llamadas acuarios. Cada acuario puede estar vacío o contener agua hasta una determinada altura. El nivel es horizontal: si una parte de una región está llena a cierta altura, cualquier casilla de esa misma región situada por debajo de ese nivel también debe contener agua.

Alrededor del tablero aparecen números. Cada pista de fila indica cuántas celdas de esa fila contienen agua y cada pista de columna hace lo mismo en vertical. La solución surge al combinar esas cantidades con la geometría de las regiones.

La observación claveUna región no tiene 2n estados útiles. Si ocupa varias filas, sus estados legales son los distintos cortes horizontales posibles, incluyendo completamente llena y completamente vacía.

Un solver por niveles

En PuzzleHub cada región es una variable. Su dominio contiene todos los niveles legales. Para cada nivel precalculamos cuántas celdas aportaría a cada fila y columna. Resolver el puzzle se convierte en elegir un estado por región hasta que todas las pistas exteriores coinciden.

El contador de soluciones mantiene agua acumulada por filas y columnas y descarta inmediatamente cualquier opción que supere una pista. Además, elige primero la región con menos niveles todavía compatibles, una estrategia de variable más restringida que reduce el árbol de búsqueda.

El solver se detiene al encontrar dos soluciones. Un tablero solo se acepta si encuentra exactamente una solución y no agota su presupuesto de búsqueda.

Generación reproducible y certificada

La versión completada de Aquarium ya no depende de un pequeño catálogo fijo de tableros. Cada partida parte de una semilla: distribuimos semillas de región, hacemos crecer regiones conectadas ortogonalmente hasta cubrir el tablero, elegimos niveles de agua, calculamos las pistas exteriores y certificamos el resultado con el solver.

Los candidatos ambiguos se descartan y se prueba otra semilla derivada. El número de regiones escala con el tamaño y la dificultad de forma controlada para conservar variedad sin disparar el espacio de búsqueda. La semilla final se guarda junto a la partida, así que el mismo puzzle puede reconstruirse exactamente al volver.

Cuatro tamaños y cuatro dificultades

La implementación ofrece 6×6, 8×8, 10×10 y 12×12, cada uno con Fácil, Normal, Difícil y Experto. Tamaño y dificultad son ejes independientes: al subir la dificultad cambia la estructura generada y aumenta la interacción entre regiones y pistas, mientras el solver sigue exigiendo solución única.

Una interfaz pensada para jugar, no solo para validar

Los límites entre regiones usan un trazo más fuerte que las líneas internas. El agua tiene un tratamiento azul con ondas y el aire se marca con una cruz. Las pistas cambian de estado cuando se satisfacen o se exceden y una región se resalta si contiene una combinación imposible de agua y aire.

En ratón, el clic derecho ofrece un acceso rápido al aire; en táctil, un toque normal recorre sin marcar → agua → aire, por lo que ninguna acción depende del botón secundario. Con teclado se puede recorrer la cuadrícula con las flechas, marcar con Espacio o Enter y alternar aire con X.

Persistencia, historial y progreso

La partida guarda tamaño, dificultad, semilla, tablero, historial, movimientos, tiempo y estado de finalización. Al volver a Aquarium se reconstruye el puzzle desde la misma semilla y se restaura el estado del jugador.

También hay Deshacer y Rehacer, reinicio del mismo tablero, comprobación manual y nueva partida. Al resolverlo se registra el progreso de la variante junto con movimientos, tamaño y dificultad.

Qué verifica CI

selfTest() recorre los cuatro tamaños y las cuatro dificultades. Para cada combinación genera un puzzle determinista, comprueba que todas las regiones son conexas, vuelve a contar soluciones y exige exactamente una, y finalmente verifica que la solución certificada satisface todas las pistas y niveles.

Así, una refactorización que rompa la conectividad, la unicidad o la solución hace fallar el control de calidad antes de llegar a producción.

Accesibilidad y responsive

El tablero expone semántica de cuadrícula y etiquetas de fila, columna y estado para cada casilla. El foco de teclado es visible, el diseño se adapta desde móvil hasta escritorio y las animaciones respetan la preferencia de movimiento reducido.

Sobre el origen del puzzle

Las reglas actuales de Aquarium están ampliamente difundidas en sitios especializados de puzzles. No hemos encontrado una fuente primaria suficientemente sólida para atribuir con seguridad una fecha o un inventor concreto, así que preferimos no presentar una historia dudosa como un hecho.

Fuentes y referencias

Para contrastar la formulación de las reglas usamos Puzzle Aquarium, que documenta el tablero dividido en acuarios, el nivel horizontal común dentro de cada región y las pistas exteriores de filas y columnas.

Jugar Aquarium en PuzzleHub