Está en la página 1de 2

PROBLEMA

Una empresa de juegos didácticos virtuales, quieren implementar un juego de


rompecabezas numérico, junto con sus respectivas reglas de puntuación, para ello
es necesario diseñar un aplicativo que genere una matriz de números aleatorio de
3x3 donde se almacenen 8 números entero consecutivos y le dé la posibilidad al
usuario de:
• Establecer el primer número de los ocho posibles a almacenar, (los demás serán
consecutivos).
• El usuario debe poder determinar cómo mover la casilla vacía, indicando si el
movimiento lo hace hacia arriba ó abajo, derecha ó izquierda.
• Tener la opción de no continuar con el armado del rompecabezas.
• Decidir si el armado lo dese hacer horizontal o vertical.
• Leer las reglas de la puntuación con la que se valorará su desarrollo.
Una vez el usuario termine de ordenar el rompecabezas o haya decidido no
continuar con el armado, el aplicativo debe:
• Indicar la cantidad de movimientos realizados
• Puntuación obtenida
El aplicativo, en su funcionamiento debe cumplir con las siguientes características:
• Permitir el movimiento de una celda a la vez.
• En los bordes de la matriz restringir los movimientos, es decir que de la última
columna no es posible desplazarse a la primera o viceversa, igual con las filas, de
la primera fila no es posible llegar a la última y viceversa.
• Mostar solo una matriz en pantalla, ir actualizándola a medida que se van
realizando los movimientos, para dar la sensación de desplazamiento de los
números.
• Cuando logre ordenar el rompecabezas informarle al usuario que lo terminó.
Ejemplo de movimientos realizados para armar el rompecabezas horizontalmente.
Suponiendo que el aplicativo genera la siguiente matriz, se muestra cada uno de
los cambios que se deben dar al interior de la matriz, para mostrársela al usuario,
entre cambio y cambio se debe borrar la matriz anterior y sobrescribir en pantalla
la nueva.
Valor inicial: 1
Tipo de armado: Horizontal
Matriz generada:

También podría gustarte