N5 Sudoku

Enunciado

El Sudoku es un juego muy popular que ayuda a desarrollar habilidades lógicas. Fue planteado por primera vez a finales de la década de los 70 y popularizado en el mundo entero a finales del año 2004. Este juego se ha difundido rápidamente debido a sus simples reglas y a que puede ser jugado por cualquiera proporcionando un reto interesante.  

El juego está compuesto por un tablero cuadrado de 𝑻 𝒙 𝑻 casillas, dividido en X zonas de 𝑵 𝒙 𝑴 casillas. Donde: 

- T: Es la cantidad tanto de filas como columnas del tablero. 

- X: Es la cantidad de zonas que hay en el tablero. 

- N: Es la cantidad de columnas que tiene cada zona.

- M: Es la cantidad de filas que tiene cada zona.  

Los tableros de Sudoku cumplen con las siguientes propiedades: 

- La cantidad de filas (T) y la cantidad de columnas (T) del tablero es igual a N multiplicado por M:  

                                              𝑻 = 𝑵 𝒙 M 

- La cantidad de zonas que hay en el tablero (X) es igual a la cantidad de filas y a la cantidad de columnas (T):  

                                              𝑿 = 𝑻 = 𝑵 𝒙 𝑴     

Cada sudoku recibe el nombre de “Sudoku NxM”. A partir del nombre se pueden deducir todas las características de un tablero teniendo en cuentas las consideraciones mencionadas anteriormente. N y M se pueden variar como se desee, sin embargo, los tableros más comunes son de 2x2, 2x3, 3x3 y 4x4. Por otro lado, las casillas del tablero están debidamente numeradas iniciando con la casilla 1,1 en la esquina superior izquierda y finalizando con la casilla T,T en la esquina inferior derecha.

El juego inicia con algunos números (del 1 al T), que hacen parte de la solución del tablero, ubicados en sus casillas correspondientes (un número por cada casilla). Dichas casillas corresponden a las casillas pista. El objetivo del jugador es completar las casillas vacías con números del 1 al T respetando siempre las siguientes reglas:   

a. Cada casilla contiene un solo número del 1 al T.

b. En una misma fila no puede haber números repetidos.

c. En una misma columna no puede haber números repetidos. 

d. En una misma zona no puede haber números repetidos. 

e. La solución del sudoku es única.

Se quiere desarrollar una aplicación que permita jugar Sudoku. La funcionalidad que debe soportar la aplicación incluye: Se quiere desarrollar una aplicación que permita jugar Sudoku. La funcionalidad que debe soportar la aplicación incluye:  

1. Cargar un nuevo juego a partir de un archivo de propiedades que contiene los valores de N, M y los números de un tablero de Sudoku solucionado. Para armar el tablero inicial del juego, se escogen de forma aleatoria T/3 casillas por zona y se muestran los números que corresponden a dichas casillas en la solución (estas son las casillas pista). Todas las demás casillas se inician vacías

2. Navegar por las casillas usando un panel de navegación que contiene 8 opciones de navegación: arriba izquierda, arriba, arriba derecha, izquierda, derecha, abajo izquierda, abajo y abajo derecha. 

3. Agregar, modificar o borrar un número de una casilla del tablero que comenzó vacía. Cada una de estas acciones se considera un movimiento.

4. Validar el tablero verificando los números ingresados por el usuario en las casillas inicialmente vacías. Si el tablero está completo y todos los números en las casillas son correctos, se le informa al usuario a través de un mensaje que ha completado el juego correctamente.

5. Solucionar el tablero que se está jugando. Se da por terminado el juego y se ubican los números correctos en todas las casillas del tablero que comenzaron vacías.

Interfaz

 n5 criaturasMagicas

Demo