Probador Offline

Descripcion de esta aplicacion:

Esta aplicacion surge motivada por la intencion de poder probar los juegos sin necesidad de poner a funcionar el servidor ni enlazarlos a la web, una vez terminada proveera a cualquier diseñador de juegos un metodo facil de depurar su juego

Descripcion de las clases

La aplicacion contiene las siguientes clases:

ModuloJuegos: Implementa IModuloJuegos para el probador

ModuloComunicaciones: Implementa IMOduloComunicaciones para el probador

Aplicacion: Contiene el main() del probador, lanza una ventana donde introducir la ruta del los archivos cliente y servidor del juego

Controlador: Se encarga de la carga dinamica de la parte del servidor del juego

Vista: Se encarga de la carga dinamica de la sparte del cliente del juego, lanza el configurador de partidas de cada juego, rellena los datos de la aprtida, la crea y añade lso jugadores, finalmente comienza la partida

Descripcion de los métodos

Métodos de Aplicacion

public class aplicacion extends javax.swing.JFrame
private static Class claseDelJuego;
private static String rutaServidor = new String();
private static String rutaCliente = new String();
public ModuloJuegos modulo = new ModuloJuegos();
public ModuloComunicaciones modCom = new ModuloComunicaciones();
public DatosPartida datos = new DatosPartida()

objetos de este frame
jDialog1 = new javax.swing.JDialog(); //seleccionar ruta servidor
jDialog2 = new javax.swing.JDialog(); //seleccionar ruta cliente
jButton1 = new javax.swing.JButton(); //lanzar JDialog1
jButton2 = new javax.swing.JButton(); //lanzar JDialog2
jButton3 = new javax.swing.JButton(); //Crear una vista y un controlador con los datos de jDialog1 y jDialog2

public aplicacion() {
initComponents();
}
Constructora de aplicacion, que es un JFrame

public static String getRutaServidor() //Devuelve el atributo RutaServidor

public static String getRutaCliente() //Devuelve el atributo RutaCliente

Métodos de Controlador

public class controlador {
private HashMap<String, IInicioPartida> _iniciadores;
private IInicioPartida iniciadorPartida;
private String nombreJuego;
private ModuloJuegos _moduloJ;
private ModuloComunicaciones _moduloC;
private DatosPartida _datos;

controlador(File ruta, DatosPartida datos, ModuloComunicaciones modulo, ModuloJuegos moduloJ) //constructora de controlador, realiza la carga dinamica del servidor del juego recibido de aplicacion mediante File ruta, los DatosPartida obtenidos despues de crear la vista y el ModuloComunicaciones y ModuloJuegos comun para vista y controlador

Métodos de Vista

public class vista extends javax.swing.JApplet implements IComponenteCliente,Runnable
private HashMap<String, IInicioPartida> _iniciadores;
private URLClassLoader _loader;
private static final int PROTOCOLO_PARTIDA;
private static void prepararClassLoader(URL url) {
private int _idPartida;
private JuegoAbstracto;
private String _nombreUsuario;
private DialogoConfiguracion dConfig;
private DatosPartida configuracion;
private Thread _initThread;
private LinkedBlockingQueue<Object[]> _mensajes=new LinkedBlockingQueue();
private JPanel _panelCarg;
private PanelBase _panelJuego;
private ModuloComunicaciones _modulo;
private Thread _mainThread;
private Semaphore _sem;

public vista(File ruta, DatosPartida datos, ModuloComunicaciones modulo) //Constructora de la clase Vista, realiza la carga dinamica del cliente del juego mediante el atributo File ruta, recibido por parte aplicación, recibe unos DatosPartida vacios, que rellenara , y el ModuloComunicaciones comun para vista y controlador. Una vez cargado el jar del cliente, llamara al método run()

public void run()
Object[] mensaje;
String comando;
//Metodo para comenzar la partida, crea la aprtida, añade los juegadores y comienza el juego