public void actionPerformed(ActionEvent ae) { String comando = ae.getActionCommand(); if (comando.equals("Salir")) cerrarVentana(); else if (comando.equals("Iniciar")) { continuarAnimacion(); vista.getBtnPausar().setText("Pausar"); } else if (comando.equals("Pausar")) { detenerAnimacion(); vista.getBtnPausar().setText("Continuar"); } else if (comando.equals("Continuar")) { continuarAnimacion(); vista.getBtnPausar().setText("Pausar"); } else if (comando.equals("No mostrar barras")) { mostrarBarras(false); vista.getBtnMostrar().setText("Mostrar barras"); } else if (comando.equals("Mostrar barras")) { mostrarBarras(true); vista.getBtnMostrar().setText("No mostrar barras"); } else if (comando.equals("Próxima ronda")) { detenerAnimacion(); torneo.siguienteRonda(); continuarAnimacion(); crearPanelesTanque(); vista.getBtnMostrar().setText("No mostrar barras"); mostrarBarras(true); } else if (comando.equals("Finalizar")) { new VistaResultadoTorneo(vista, vista.getAplicacion(), torneo); cerrarVentana(); } }
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 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); }
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 continuarAnimacion() { animador.iniciar(); vista.setTitle("Miniguerras - Ronda " + torneo.getNumeroRondaActual()); }
public void mostrarBarras(boolean condicion) { for (Tanque tanque : torneo.getRondaActual().getTanques()) tanque.setEstadoBarras(condicion); }