/** * Constructor del juego que inicializa los valores. * * @param juga * @param jugadorActual */ public Juego(ArrayList<Jugador> juga, Jugador jugadorActual) { jugadores = new ArrayList<>(); this.jugadores = juga; this.jugador = jugadorActual; loader = Juego.class.getClassLoader(); utilidades = new Util(); claseTime = new Time(); ventana = new JFrame("Concéntrese - Juan S."); ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ventana.setSize(520, 475); ventana.setLayout(null); ventana.setResizable(false); contadorJugadas = 0; cartaPorDefecto = new ImageIcon(loader.getResource("recursos/carta8.gif")); panel = new JPanel(); panel.setSize(300, 450); panel.setLayout(new GridLayout(4, 4)); intentos = new JLabel("Intento : 0"); etiquetaTiempoPartida = new JLabel("Tiempo: "); tiempoPartida = new JLabel("00.00.000"); etiquetaTiempoPartida.setFont(etiquetaTiempoPartida.getFont().deriveFont(20.0f)); tiempoPartida.setFont(tiempoPartida.getFont().deriveFont(20.0f)); intentos.setFont(intentos.getFont().deriveFont(20.0f)); intentos.setBounds(320, 50, 200, 30); tiempoPartida.setBounds(420, 5, 200, 30); etiquetaTiempoPartida.setBounds(320, 5, 200, 30); ventana.add(tiempoPartida); ventana.add(etiquetaTiempoPartida); ventana.add(intentos); ventana.add(panel); crearMenuSuperior(); crearMatrizIconos(); crearArrayBotones(); crearTemporizador(); ventana.setLocationRelativeTo(null); ventana.setVisible(true); }
/** * Este método crea cada botón para el juego y atiende sus eventos. * * @param indice */ private void crearBoton(final int indice) { arrayDeBotones[indice] = new JButton(cartaPorDefecto); arrayDeBotones[indice].addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent xEvent) { if (contadorJugadas == 0) { hiloActualizaTiempo(); } estaGirada[indice] = true; intentos.setText("Intento : ".concat(String.valueOf(++contadorJugadas))); if (!estaPrimeraCartaGirada) { arrayDeBotones[indice].setIcon(iconos.get(indice)); indicePrimeraCarta = indice; estaPrimeraCartaGirada = true; } else if (!estaSegundaCartaGirada) { arrayDeBotones[indice].setIcon(iconos.get(indice)); indiceSegundaCarta = indice; estaSegundaCartaGirada = true; contador = 1; tiempo.setInitialDelay(0); tiempo.start(); } if (juegoHaTerminado(estaGirada)) { claseTime.tiempoFinal(); timer.stop(); tiempoFinal = tiempoPartida.getText(); JOptionPane.showMessageDialog( ventana, "Terminaste, Felicitaciones!!" + "\n" + "Cantidad de intentos:" + contadorJugadas + "\n" + "Tiempo Final: " + tiempoFinal); partidaTerminada(); } } }); panel.add(arrayDeBotones[indice]); }