private void crearPanelesTanque() { vista.getPanelesJugadores().clear(); for (Tanque tanque : torneo.getTanques()) vista.getPanelesJugadores().add(crearPanelJugador(tanque)); vista.getPanelTanques().removeAll(); for (JPanel panel : vista.getPanelesJugadores()) vista.getPanelTanques().add(panel); }
public void propertyChange(PropertyChangeEvent evento) { if (evento.getSource().getClass() == Ronda.class) if (enUltimaRonda) vista.getBtnMostrar().setText("Finalizar"); else vista.getBtnMostrar().setText("Próxima ronda"); else if (evento.getSource().getClass() == Tanque.class) { int indice = torneo.getTanques().indexOf(evento.getSource()); if (evento.getPropertyName().equals("vida")) { actualizarDatosTanque(indice, 5, evento.getNewValue().toString()); if (evento.getNewValue().equals(0)) desactivarTanque(indice); } else if (evento.getPropertyName().equals("energia")) actualizarDatosTanque(indice, 6, evento.getNewValue().toString()); else if (evento.getPropertyName().equals("puntuacion")) actualizarDatosTanque(indice, 7, evento.getNewValue().toString()); } else if (evento.getSource().getClass() == Torneo.class) enUltimaRonda = true; }
public void windowOpened(WindowEvent e) { torneo.addPropertyChangeListener(this); for (Ronda ronda : torneo.getRondas()) ronda.addPropertyChangeListener(this); for (Tanque tanque : torneo.getTanques()) tanque.addPropertyChangeListener(this); crearPanelesTanque(); repintar(); animador = new PAnimador(vista.getPanelJuego()); animador.setFps(24); animador.antialiasing(true); animador.setFondo(Color.GRAY); animador.agregarAnimable(torneo); }