Пример #1
0
  /**
   * 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);
  }
Пример #2
0
  /**
   * 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]);
  }