Está en la página 1de 6

Práctica final 2º SMR

La práctica consiste en crear una aplicación que permita resolver sudokus de 2x2.

Table of Contents
Práctica final 2º SMR................................................................................................................1

1. La aplicación.........................................................................................................................2

1.a Cargar ficheros desde el ordenador...........................................................................2

1.b El contenido del fichero de sudokus...........................................................................2

1.c La aplicación web...........................................................................................................3

2. Funcionamiento...................................................................................................................4

3. Tareas....................................................................................................................................5
1. La aplicación
La práctica consiste en crear una aplicación web que visualice sudokus y permita
resolverlos, comprobando si la solución aportada por el usuario es correcta o no.

1.a Cargar ficheros desde el ordenador


La aplicación contendrá un botón Examinar que permitirá seleccionar un fichero del
disco duro del ordenador. El fichero seleccionado debe contener las preguntas del
cuestionario.

El contenido del fichero de texto se leerá cuando se pulse el botón Load file. Este
botón ejecutará una función que leerá el contenido del fichero y ejecutará a
continuación la función leerSudokus, que será la primera que el alumno tendrá que
terminar.

1.b El contenido del fichero de sudokus


La aplicación podrá visualizar los sudokus almacenados en ficheros de texto. En cada
línea del fichero de texto se encontrará un sudoku diferente.

Por ejemplo, supongamos este fichero:


Bautismo de fuego:32–1--3--1-4-32:3241142323144132:
Algo sencillo:-24-1–34--2-13-:3241142343122134:
4 es el número de la suerte:-4–1-4-4--13124:2413134242313124:
En blanco:------1-4----2-3:2134341243211243:

En cada línea habrá un sudoku. La línea se interpretará así:


título:tablero:solución:

Por ejemplo, la línea 2 contiene esto:


Algo sencillo:-24-1–34--2-13-:3241142323144132:
Que se interpretará así:

Título: Algo sencillo

Tablero:

2 4

1 3

4 2

1 3

Como se ve, se deberá generar una tabla de 4x4 casillas. Cada – se interpreta como
una casilla vacía en la que el jugador podrá introducir texto (esas celdas por lo tanto
contendrán textboxes).

Nota: los - se deben interpretar como casillas vacías. Además, la solución no se le


mostrará al usuario (si quieres, puedes plantearte el cifrarlo de alguna manera).

Nota 2: al final de cada línea del fichero se añade un : para ahorrarnos problemas
relacionados con cómo los diferentes sistemas operativos representan el salto de
línea en un fichero de texto.

1.c La aplicación web


El alumno deberá crear una aplicación web con una estética adecuada y cuidad.

Para realizar la web tendremos que tener, al menos, los siguientes elementos:

• Un botón que permita seleccionar el fichero con los sudokus que queremos
resolver.

• Un botón con la etiqueta Load file que cargue la información del fichero.

• Un párrafo con id="titulo" donde aparecerá el título del sudoku.

• Un botón con la etiqueta Previous

• Un botón con la etiqueta Next

• Un botón con la etiqueta Check solution


• Una tabla donde se representará el tablero

• Una división con id="resultado" donde se mostrará si la solución del jugador


es correcta.

2. Funcionamiento
En el main habrá un array llamado arrSudokus=[]; y una variable sudokuActual=0;

Cuando se pulse el botón Load file se ejecutará la función leerSudokus que hará lo
siguiente:

1- Haremos que sudokuActual valga 0.

2- Se cargará en el arrSudokus cada línea de esa cadena de texto. Se dividirá la


cadena de texto en líneas usando el método cadena.split("\n"); Así cada sudoku será
un elemento del arry.

3- Se visualizará la información del primer sudoku, almacenado en arrSudokus[0]

Cuando se pulse el botón Previous, ocurrirá lo siguiente:

1- Se borrará el contenido de la tabla y de cualquier otro elemento si es necesario.

2.- La variable sudokuActual se decrementeará en 1.

3.- Si sudokuActual es menor que 0, haremos que sudokuActual valga 0 y


mostraremos un mensaje en un alert indicando que "No hay un sudoku anterior a
este".

4.- Se visualizará el sudoku contenido en arrSudokus[sudokuActual];

Cuando se pulse el botón Next, ocurrirá lo siguiente:

1.- Se borrará el contenido de la tabla y de cualquier otro elemento si es necesario.

2.- La variable sudokuActual se incrementeará en 1.

3.- Si sudokuActual es mayor o igual que arrSudokus.length, haremos que


sudokuActual valga arrSudokus.length-1 y mostraremos un mensaje de "No hay más
sudokus".
4.- Se visualizará el sudoku contenido en arrSudokus[sudokuActual];

Cuando se pulse el botón Check solution ocurrirá lo siguiente:

1- Se borrará el contenido de la división con id="resultado".

2- Se recorrerá el tablero del sudoku y se comprobará si la solución que ha


proporcionado el usuario es correcta o no.

Esto puede hacerse creando una cadena de caracteres con la solución del jugador.

Por ejemplo, si cuando se pulsa el botón Comprobar solución el tablero fuera:

1 2 3 4

3 4 1 2

4 1 2 3

2 3 4 1

La cadena de caracteres que representa la soluciónd el usuario será:


1234341241232341

Por lo tanto, será cuestión de comparar la soluciónd el usuario con la solución del
array contenida en el fichero.

3. Tareas
El alumno tendrá que:

• Generar el código HTML y CSS necesarios para crear la web.

• Generar el código javascript necesario para añadir la funcionalidad requerida.

◦ Completar la función leerSudokus

◦ Una función que visualice un sudoku

◦ Una función que compruebe si la solución del jugador es correcta


Figure 1: Ejemplo de aplicación terminada

También podría gustarte