TALLER 7
 Desarrollo de Interfaces Gráficas de Usuario en SWING

 

 

Implemente el popular juego de trique en una aplicación gráfica. Las condiciones son las siguientes:

 

  1. El juego debe tener la cuadricula que permita ingresar las jugadas, una manera de reiniciar el juego en cualquier momento, y una manera de obtener un mensaje informático acerca del estado del juego. El mensaje debe informar sobre el jugador que tiene el turno, quien gano o si se presento un empate.
  2. La interfaz gráfica debe ser implementada usando la librería de clases contenida en el paquete javax.swing.
  3. La aplicación debe seguir el patron de arquitectura mvc, donde cada módulo exponga unicamente una interfaz a los demás módulos.

 

Un ejemplo de la aplicación que deben realizar esta enseguida:

 

 

Para implementar el patrón de arquitectura mvc se deben implementar tres módulos:

 

Vista del triqui: Es el modulo encargado de la interacción con el usuario. Esta interfaz debe ser gráfica y debe permitirle al usuario ingresar una jugada, reiniciar el juego en cualquier momento de la ejecución y debe mostrar un mensaje informativo acerca del estado de la aplicación. Al iniciar la aplicación, la interfaz debe indicar quien tiene el turno, y cada vez que se ejecuta una jugada la interfaz debe actualizar quien tiene el turno.

 

Controlador: debe recibir y procesar los eventos generados por la interfaz para enviarselos al modelo. Los eventos que reciben son el ingreso de una jugada y la solicitud de reinicio del juego.

 

Modelo: es el encargado de implementar la lógica del trique, es decir que procesa cada solicitud o jugada del usuario. Luego de recibir una jugada del usuario, el modelo debe actualizar la vista para que pinte la jugada ingresada por el usuario, debe actualizar la lógica y decidir si algún jugador gano o si hubo empate. Si nada de esto sucede entonces debe decirle a la vista que imprima un mensaje informativo sobre el jugador que tiene el turno. Si la solicitud del usuario es de reinicio entonces el modelo debe limpiar la vista para un juego nuevo y actualizar el estado del juego para que este de acorde a un juego nuevo.