ELO-330 Proyecto de Programación de sistemas

 

 

 

 

 

Juego Educativo

Casa Embrujada en red

 

 

 

 

Ignacio Ferruzola         rol: 2421052-9

Francisco Soto             rol: 2323021-6

Profesor Agustín J. González V.

 

 

Índice

 

Introducción.3

I.Diseño de la Casa Embrujada en Red.

1.Esquema de la solución.

2.Funcionamiento general

II.Trabajo realizado y futuras implementaciones




Introducción

 

Es sabido por todos que en la actualidad existen grandes deficiencias en el aprendizaje de las matemáticas en los niños, por lo cual resulta imprecindible generar nuevas herramientas que permitan mejorar este aspecto. En una asignatura anterior (elo329 1s2010) se desarrolló un software para contribuir a resolver tal falencia, con un juego lúdico que incentiva a los niños a resolver problemas matemáticos. Un profesor de enseñanza básica que implementase este sistema, quisiera llevar una estadística en su computador del progreso de los niños, por lo cual resulta imperioso comunicar un programa que lleve tal registro con el resto de los clientes.

El proyecto final consiste en modificar el juego “Casa Embrujada” de tal forma que los jugadores puedan conectarse a un servidor y enviar sus respuestas correctas y erróneas a un servidor,  con esto se logra obtener una medida de las habilidades del usuario, así como centralizar los datos para el evaluador.

               

       I.         Diseño de la Casa Embrujada en Red.

 

Se modificó la Casa Embrujada de tal forma que el usuario, al guardar la sesión, envía la cantidad de respuestas correctas e incorrectas, además del tiempo que el usuario estuvo jugando. El envío de información se hace a través del protocolo TCP/IP, asegurando con esto un correcto envío de los datos. En el servidor se tiene

1.     Esquema del Cliente

El jugador crea una cuenta con sus datos, los cuales serán enviados al servidor de manera automática cuando guarde su sesión.

Figura 1. Interfaz gráfica Cliente, petición de datos.

 

Al guardar la sesión, se creara un socket con una dirección ip y un puerto predeterminado, este no puede ser modificado a menos que se modifique el código. El envío de datos se enviará a través de un ObjectOutputStream, si hubo algún error de escritura se notificará al usuario por la consola. En cualquier caso, luego de enviar la información o tener problemas de escritura, se cerrará la conexión. En la siguiente imagen se puede observar al software solicitando el número de lista del alumno.



Figura 2. Interfaz gráfica Cliente.



2.     Esquema del Servidor

 

El servidor por su parte, consistirá en una cierta cantidad de botones, identificados por números, los cuales corresponderán al número de alumnos que posea el profesor. La cantidad de botones será consultada al usuario por medio de una ventana, con lo cual el profesor podrá tener a varios cursos con el mismo software.

Por otra parte, el servidor tendrá la capacidad de recibir múltiples conexiones, esto se realizó a través de la creación de hebras, con lo cual, el usuario al guardar sesión, creará una nueva hebra en el servidor para poder recibir correctamente la información de su juego.

Figura 3. Interfaz gráfica Servidor.

 

 

   I  II.        Trabajo realizado y futura implementación

 

La implementación del cliente se llevo a cabalidad, envía correctamente la información del jugador y cierra las conexiones como es debido. No obstante, el servidor tiene problemas para recibir la conexión de cada jugador, para poder comprobar el correcto funcionamiento del cliente se utilizo un servidor TCP que muestra la información recibida por pantalla. Además de implementar correctamente las multihebras, se puede crear un servidor que guarde la información de los estudiantes en una base de datos o a través de properties, ya que el servidor al cerrar la sesión pierde la información recibida. A continuación se muestra la interfaz gráfica del servidor utilizado para realizar las pruebas al cliente.



Figura 4. Interfaz gráfica del Servidor de prueba.




Conclusión

 

Este proyecto nos ha permitido observar funciones y como realizar conexiones TCP/IP en el lenguaje java, además de poder investigar futuras implementaciones para que el proyecto sea más robusto. El software puede ser fácilmente modificado debido a su simple implementación además de tener el código debidamente documentado, a través de comentarios y el respectivo javadoc del software.

El cliente presenta ciertas falencias, al igual que una tarea realizada en el ramo 'Programación orientada a objetos', no se pudo resolver. Al realizar la pregunta matemática, el usuario si presiona cancelar, la ventana se cerrará y podrá moverse una casilla, además de esto, si se ingresa una palabra, arrojará una excepción y podrá moverse libremente. No obstante no podrá salir de la casa si lo realiza al llegar a la puerta.