Jogo de adivinhação de números
Publicado por Rodrigo Zanuzzo (última atualização em 03/09/2009)
[ Hits: 12.670 ]
Homepage: @rodrigozanuzzo
Jogo muito simples feito no Netbeans. Basicamente você terá de acertar o número sorteado, se você errar ele manda digitar um número maior ou menor e vai contando as tentativas até você acertar.
Sugestões...
8D
/* * Adivinha.java * * Created on 2 de Setembro de 2009, 09:09 */ /** * * @author Rodrigo Zanuzzo */ import javax.swing.JOptionPane; public class Adivinha extends javax.swing.JFrame { int resp,sorteio,tentativas,qnt; /** Creates new form Adivinha */ public Adivinha() { 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() { jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); lJogador = new javax.swing.JLabel(); lTentativa = new javax.swing.JLabel(); sNumero = new javax.swing.JSpinner(); bIniciar = new javax.swing.JButton(); bVerificar = new javax.swing.JButton(); bJogador = new javax.swing.JButton(); bNovo = new javax.swing.JButton(); bFechar = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Jogo de adivinha"); jPanel1.setLayout(null); jLabel1.setText("Jogador:"); jPanel1.add(jLabel1); jLabel1.setBounds(10, 10, 60, 17); jLabel2.setText("Tentativas:"); jPanel1.add(jLabel2); jLabel2.setBounds(10, 30, 80, 17); lJogador.setText("XXXXXXXXXXX"); jPanel1.add(lJogador); lJogador.setBounds(70, 10, 100, 17); lTentativa.setText("00"); jPanel1.add(lTentativa); lTentativa.setBounds(90, 30, 30, 17); jPanel1.add(sNumero); sNumero.setBounds(20, 50, 26, 24); bIniciar.setText("Iniciar"); bIniciar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bIniciarActionPerformed(evt); } }); jPanel1.add(bIniciar); bIniciar.setBounds(210, 10, 90, 27); bVerificar.setText("Verificar"); bVerificar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bVerificarActionPerformed(evt); } }); jPanel1.add(bVerificar); bVerificar.setBounds(210, 50, 90, 27); bJogador.setText("Jogador"); bJogador.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bJogadorActionPerformed(evt); } }); jPanel1.add(bJogador); bJogador.setBounds(0, 100, 90, 27); bNovo.setText("Novo Jogo"); bNovo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bNovoActionPerformed(evt); } }); jPanel1.add(bNovo); bNovo.setBounds(90, 100, 120, 27); bFechar.setText("Fechar"); bFechar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bFecharActionPerformed(evt); } }); jPanel1.add(bFechar); bFechar.setBounds(210, 100, 90, 27); getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); setBounds((screenSize.width-308)/2, (screenSize.height-189)/2, 308, 189); }// </editor-fold> private void bNovoActionPerformed(java.awt.event.ActionEvent evt) { resp=JOptionPane.showConfirmDialog(null,"Deseja mudar o nome do jogador?","NOME",JOptionPane.YES_NO_OPTION); if (resp==0){ lJogador.setText(JOptionPane.showInputDialog(null,"Digite o nome do Jogador")); sorteio=(int)(Math.random()*10); bJogador.setEnabled(true); bVerificar.setEnabled(true); sNumero.setEnabled(true); }else{ sorteio=(int)(Math.random()*10); bJogador.setEnabled(true); bVerificar.setEnabled(true); sNumero.setEnabled(true); } } private void bIniciarActionPerformed(java.awt.event.ActionEvent evt) { lJogador.setText(JOptionPane.showInputDialog(null,"Digite o nome do Jogador")); sorteio=(int)(Math.random()*10); bIniciar.setEnabled(false); bJogador.setEnabled(true); bVerificar.setEnabled(true); bNovo.setEnabled(true); sNumero.setEnabled(true); } private void bVerificarActionPerformed(java.awt.event.ActionEvent evt) { qnt++; lTentativa.setText(String.valueOf(qnt)); tentativas=sNumero.getValue().hashCode(); if (sorteio>tentativas){ JOptionPane.showMessageDialog(null,"tente um numero maior"); } if (sorteio<tentativas){ JOptionPane.showMessageDialog(null,"Tente um numero menor"); } if (sorteio==tentativas){ JOptionPane.showMessageDialog(null,"Parabéns"); resp=JOptionPane.showConfirmDialog(null,"Deseja encerrar o programa?","FECHAR",JOptionPane.YES_NO_OPTION); qnt=0; if (resp==0){ System.exit(0); }else{ bJogador.setEnabled(false); bVerificar.setEnabled(false); sNumero.setEnabled(false); tentativas=0; lTentativa.setText(String.valueOf(tentativas)); } } sNumero.requestFocus(); } private void bJogadorActionPerformed(java.awt.event.ActionEvent evt) { lJogador.setText(JOptionPane.showInputDialog(null,"Digite o nome do Jogador")); } private void bFecharActionPerformed(java.awt.event.ActionEvent evt) { dispose(); } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Adivinha().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton bFechar; private javax.swing.JButton bIniciar; private javax.swing.JButton bJogador; private javax.swing.JButton bNovo; private javax.swing.JButton bVerificar; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JPanel jPanel1; private javax.swing.JLabel lJogador; private javax.swing.JLabel lTentativa; private javax.swing.JSpinner sNumero; // End of variables declaration }
Exemplo de POO usando conceitos de calorimetria em Java
Retorno de nomes (com gráficos)
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (2)
Enzo quer programar mas não faz código pra não bugar (12)
Erro de Montagem SSD Nvme (12)
WebScrapping através de screenshot devido a bloqueios de Shadow DOM (1)