Foros del Web » Programación para mayores de 30 ;) » Java »

Novato en MVC

Estas en el tema de Novato en MVC en el foro de Java en Foros del Web. Buenas a todos! Estoy desarrollando un juego en java empleando el MVC, el esquema que he pensado es el siguiente: https://dl.dropboxusercontent.com/u/20022286/classDiagram.jpg Se trata de un ...
  #1 (permalink)  
Antiguo 10/07/2013, 18:45
 
Fecha de Ingreso: julio-2013
Ubicación: Almeria
Mensajes: 5
Antigüedad: 10 años, 9 meses
Puntos: 0
Novato en MVC

Buenas a todos!

Estoy desarrollando un juego en java empleando el MVC, el esquema que he pensado es el siguiente: https://dl.dropboxusercontent.com/u/20022286/classDiagram.jpg

Se trata de un juego con varios tipos de jugadores, algunos con inteligencia artificial y otros humanos. Una partida puede ser tanto humano vs humano, humano vs IA, IA vs IA.


Cuando se dispara evento el evento de iniciar juego en la clase controlador , se ejecuta este código (no se si sería más correcto tenerlo en la clase Juego)

Código Java:
Ver original
  1. @Override
  2.     public void actionPerformed(ActionEvent e) {
  3.         switch (eventos.valueOf(e.getActionCommand())) {
  4.         case tableroAnterior:
  5.             break;
  6.         case tableroSig:
  7.             break;
  8.         case inicializar:
  9.             break;
  10.         case iniciarPartida:
  11.             int columna=-1;
  12.             while (juego.noFinalizado()) {
  13.                 if(juego.turnoHumano()){ //Si el jugador es humano la interfaz debe de proporcionar la eleccion del jugador
  14.                     columna = vista.getTirada();
  15.                 }
  16.                 Movimiento m = c4.tirada(columna); //si es jugadorIA no se usara el parametro              
  17.                 vista.ponerFicha(m);
  18.                 vista.anadirMovimiento(m);             
  19.             }  
  20.             vista.finPartida(c4.comprobarEstado());
  21.             break;
  22.         default:
  23.             break;
  24.  
  25.         }
  26.     }

Mi problema es, que no se hacer el método getTirada() de la vista, respetando el MVC.
Mi intención es que al llamar al método tirada() de juego, este llama al método jugar() de la clase genérica jugador. Este método le dice a la clase Juego en que casilla pone ficha el jugador correspondiente. Para los jugadores con IA es perfecto, pero para el jugador humano no se como sincronizarlo con la interfaz de usuario respetando el MVC.
He encontrado información sobre wait() y notify(), pero no tengo claro como y donde usarlos, no se que objeto sincronizar.
También he leído sobre hilos, pero no se que código debería lanzar en un hilo aparte.

Si alguno me puede ayudar os lo agradecería mucho. :)

No se si me he explicado bien... mirando el diagrama creo que entenderéis mis intenciones. En todo caso preguntad!

PD: aunque es mi primer mensaje en el foro, ya me habéis ayudado mucho con las respuestas en otros temas. Gracias.

Etiquetas: clase, mvc
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:35.