Prácticas de Programación Orientada a Objetos - Interfaz Gráfica
PRÁCTICAS PROGRAMACIÓN ORIENTADA A OBJETOS - INTERFAZ GRÁFICA.
See:
Description
PRÁCTICAS PROGRAMACIÓN ORIENTADA A OBJETOS - INTERFAZ GRÁFICA.
Esta es la documentación asociada a la librería gráfica de las prácticas de Programación Orientada a Objetos. La librería gráfica está dentro del paquete vista y está formada por varias interfaces y la clase Pantalla, que implementa la interfaz gráfica que visualiza el juego.
Toda la información acerca de las clases e interfaces puede ser consultada en esta documentación. A continuación se enumeran las reglas de uso básicas de la librería:
- Al menos una clase del modelo debe implementar la interface IControlador, que representa la fachada del modelo de la aplicación. Es recomendable crear una clase específica que se llame Partida.
- Antes de instanciar la Pantalla hay que crear un objeto controlador (Partida). Este objeto será utilizado para crear la pantalla. La clase Pantalla ofrece un constructor para establecer la tasa de refresco en frames/segundo. El valor de esta tasa puede hacer que la pantalla tenga parpadeo, por lo que conviene ajustarlo convenientemente. Un número superior a 25 frames/segundo no es recomendable. También se especifica el número de píxeles por unidad de espacio que representa la interfaz gráfica. Este valor y el tamaño del mundo determinan el tamaño de la pantalla del juego.
- El controlador tiene un método para establecer la pantalla del juego. La pantalla será utilizada por el controlador (partida) para establecer el estado del juego en la barra de estado y mostrar mensajes informativos o de error. Por tanto, la pantalla conoce al controlador y el controlador conoce a la pantalla.
- Si suponemos que la clase Partida implementa la interface IControlador, un ejemplo de inicialización del juego sería:
IControlador controlador = new Partida();
// Se toman como valores por defecto la tasa de refresco y los píxeles por unidad
Pantalla pantalla = new Pantalla(controlador);
controlador.setPantalla(pantalla);
Los dibujables 3D se muestran con un borde negro que se convertirá en rojo para indicar que su densidad supera el 90% de la densidad del líquido.
El objeto controlador debe ofrecer una colección con los objetos dibujables del juego. Estos corresponden con las entidades. Por tanto, las entidades deben implementar las interfaces Dibujable2D. Para los soportes se recomienda la implementación de Dibujable3D. En la representación, primero se dibujan los Dibujables3D.
La interfaz gráfica del juego ofrece botones para realizar las acciones propias de una partida del juego: nueva partida y abrir un mundo.
Las teclas del juego son: I -> Norte, K -> Sur, J -> Este, L -> Oeste, D -> Empujar, S -> Actuar.
Los gráficos de la aplicación deben estar en el directorio "imagenes" relativo al directorio de inicio de la aplicación.