feed twitter facebook LinkedIn facebook

Java » Un juego sencillo con Java Swing

octubre 13, 2012 por ARIEL 2 Comentarios Imprimir Imprimir

Vamos a realizar un programa de escritorio usando Java Swing. Consiste en hacer un juego de adivinar la suma de dos números generados aleatoriamente.

Necesitamos los siguientes controles:

  1. 6 JTextField
  2. 6 JLabel
  3. 3 JButton

Un botón se encargará de generar y mostrar los dos números aleatorios, el siguiente botón activa una ventanita para introducir la suma de esos dos y comprobar si es correcta (acierto) o no (fallo) y mostrará el número de intentos realizados.

Y por último un botón para quitar la aplicación.

Como se trata de una aplicación gráfica es necesario importar las librerías javax.swing.* y java.awt.*.

  1. import javax.swing.JTextField;
  2. import javax.swing.JLabel;
  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. import javax.swing.JButton;
  6. import java.awt.event.*;
  7. import javax.swing.JOptionPane;
  8. import javax.swing.UIManager;
  9.  
  10. public class Aleatorio extends JFrame{
  11.  
  12. public Aleatorio(){
  13. //..
  14. //..
  15. }
  16. }

Los controles a usar para los que utilizaremos las clases JTextField y JButton:

  1. final private JTextField txtNum1,txtNum2,txtResultado,txtIntentos,txtAciertos,txtFallas;
  2. private JButton btnActiva,btnComprueba;
  3. private JButton btnSalir;

También necesitamos definir las variables que controlarán los valores aleatorios y su suma, así como los aciertos, fallos e intentos:

  1. //los dos números tomarán un valor aleatoriamete
  2. private long num1,num2,valor;
  3. //la suma
  4. long suma_prog;
  5. int intentos=0,aciertos=0,fallas=0;

Para generar los números aleatorios creamos una función:

  1. public long obtenerAleatorio1(){
  2. return (long)(Math.random()*1000);
  3. }

Puedes leer más información sobre como crear un número aleatorio con Java.

Ahora pasamos a codificar los botones Activar, Comprobar y Salir.

Activar
Este botón inicia el juego, para ello lo que hacemos es crear dos números aleatorios, con la clase creada anteriormente, y los ponemos dentro de los campos de texto sus valores.

  1. btnActiva= new JButton("Activar");
  2. btnActiva.addActionListener(new ActionListener() {
  3. public void actionPerformed(ActionEvent e) {
  4. Aleatorio aleatorio=new Aleatorio();
  5. aleatorio.setNum1(aleatorio.obtenerAleatorio1());
  6. aleatorio.setNum2(aleatorio.obtenerAleatorio2());
  7.  
  8. txtNum1.setText(String.valueOf(aleatorio.getNum1()));// no. 1
  9. txtNum2.setText(String.valueOf(aleatorio.getNum2()));// no.2
  10. txtResultado.setText("");
  11. }
  12. });

Comprobar
Es el botón que lanza el juego, lo que hace es crear un dialogo, mediante una clase JOptionPane. Cogemos el valor insertado por el usuario y comprobamos si coincide con la suma de los números aleatorios. Si es así incrementamos los aciertos, si no coincide, incrementamos los fallos.

  1. btnComprueba= new JButton("Comprobar");
  2. btnComprueba.addActionListener(new ActionListener() {
  3. public void actionPerformed(ActionEvent e) {
  4. Aleatorio alea=new Aleatorio();
  5. valor=Long.parseLong(JOptionPane.showInputDialog("Introduce valor"));
  6. alea.setValor(valor);
  7. txtResultado.setText(String.valueOf(alea.getValor()));//valor del usuario
  8. suma_prog=Long.parseLong(txtNum1.getText())+ Long.parseLong(txtNum2.getText());
  9.  
  10. if(suma_prog==alea.getValor()){
  11. aciertos+=1;
  12. intentos+=1;
  13. txtIntentos.setText(String.valueOf(intentos));
  14. txtAciertos.setText(String.valueOf(aciertos));
  15. }else{
  16. fallas+=1;
  17. intentos+=1;
  18. txtIntentos.setText(String.valueOf(intentos));
  19. txtFallas.setText(String.valueOf(fallas));
  20. }
  21. }
  22. });

Salir
En este caso, lo que hacemos es salir de la aplicación mediante el método System.exit.

  1. btnSalir= new JButton("Salir");
  2. btnSalir.addActionListener(new ActionListener() {
  3. public void actionPerformed(ActionEvent e) {
  4. System.exit(0);
  5. }
  6. });

Espero les sea de utilidad.

Descargar el Codigo
Descargar el código
Error en el Codigo
Error en el código
Foro sobre Java
Foro sobre Java
tags: , , , , , ,

Artículos relacionados:

2 comentarios »

RSS feed para los comentarios de esta entrada. TrackBack URI

  1. Nefi
    noviembre 4, 2012 #

    Excelente :D

  2. ARIEL
    noviembre 11, 2012 #

    Que bueno que le sirvió :)

Deja un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*