Dice Game In Java

File: Roll.java from Chapter 11
Information: Displays a dice face that corresponds to a roll.
Book: Lawrenceville Press
Date: June 10, 2005
Site: http://www.meskauskas.us/howard/java/GUI/rollDice/rollProgram.htm

import javax.swing.SwingUtilities;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.Toolkit;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.SwingConstants;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.JLabel;

public class JogoDados extends JFrame implements ActionListener {

    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JButton jbtrollDie = null;
    private JLabel jlbnewRollA = null;
    private JLabel jlbTitulo = null;
    private JLabel jlbNumeracao = null;
    private JLabel jlbnewRollA1 = null;
    private JLabel jlbSinalDeMais = null;
    private JButton jbtInformacao = null;

    private JButton getJbtrollDie() {

        if (jbtrollDie == null) {
            jbtrollDie = new JButton();
            jbtrollDie.setBounds(new Rectangle(253, 292, 90, 36));
            jbtrollDie.setText("Roll Dice");
            //Mensagem ao passar o mouse
            jbtrollDie.setToolTipText("Play");
            //Transforma o mouse em mão
            jbtrollDie.setCursor(new Cursor(Cursor.HAND_CURSOR));
            jbtrollDie.addActionListener(this);
        }
        return jbtrollDie;
    }

    private JButton getJbtInformacao() {
        if (jbtInformacao == null) {
            ImageIcon icone = new ImageIcon(getClass().getResource(
                    "/imagens/Informacao.png"));
            jbtInformacao = new JButton(icone);
            jbtInformacao.setBounds(new Rectangle(530, 5, 40, 40));
            //Mensagem ao passar o mouse
            jbtInformacao.setToolTipText("Information");
            // Tira o fundo do botão
            jbtInformacao.setContentAreaFilled(false);
            // Tira a borda do botão
            jbtInformacao.setBorderPainted(false);
            // Tira o fucus do botão
            jbtInformacao.setFocusable(false);
            //Transforma o mouse em mão
            jbtInformacao.setCursor(new Cursor(Cursor.HAND_CURSOR));
            jbtInformacao
                    .addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent e) {

                            // Ponhe imagem no JOptionPane
                            Icon imagem = new ImageIcon(getClass().getResource(
                                    "/imagens/Duke.png"));
                            JOptionPane
                                    .showMessageDialog(
                                            null,
                                            "Jogo de dados em java.\n"
                                                    + "Autor: J. Marcos B."
                                                    + "\nClick no botão Roll Die para começar.",
                                            "Java Dice Game", 0, imagem);
                        }
                    });
        }
        return jbtInformacao;
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JogoDados thisClass = new JogoDados();
                thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                thisClass.setVisible(true);
            }
        });
    }

    public JogoDados() {
        super();
        initialize();
    }

    private void initialize() {
        //Tamanho da tela do jogo
        this.setSize(581, 379);
        this.setContentPane(getJContentPane());
        //Titulo da Janela
        this.setTitle("Java Dice Game by J. Marcos B.");
        // Tamanho fixo do programa, sem alteção
        this.setResizable(false);
        // Deixa o programa no meio da tela, centralizado
        this.setLocationRelativeTo(null);
        // Endereço da imagem, usar imagem com tamanho 16 x 16
        URL url = this.getClass().getResource("/imagens/Duke.png");
        // Passando a url da imagem como parâmetro
        this.setIconImage(Toolkit.getDefaultToolkit().getImage(url));
    }

    private JPanel getJContentPane() {
        if (jContentPane == null) {

            jlbSinalDeMais = new JLabel();
            jlbSinalDeMais.setBounds(new Rectangle(274, 166, 40, 29));
            jlbSinalDeMais.setHorizontalAlignment(SwingConstants.CENTER);
            jlbSinalDeMais.setFont(new Font("Arial", Font.BOLD, 38));

            jlbnewRollA1 = new JLabel();
            jlbnewRollA1.setBounds(new Rectangle(324, 119, 114, 108));
            jlbnewRollA1.setHorizontalAlignment(SwingConstants.CENTER);
            jlbnewRollA1.setFont(new Font("Arial", Font.BOLD, 28));

            jlbNumeracao = new JLabel();
            jlbNumeracao.setBounds(new Rectangle(448, 163, 64, 32));
            jlbNumeracao.setHorizontalAlignment(SwingConstants.CENTER);
            jlbNumeracao.setFont(new Font("Arial", Font.BOLD, 28));

            jlbTitulo = new JLabel();
            jlbTitulo.setBounds(new Rectangle(124, 5, 329, 40));
            //Centraliza o texto da Label
            jlbTitulo.setHorizontalAlignment(SwingConstants.CENTER);
            //Muda o tamanho do texto da Label e deixa em negrito
            jlbTitulo.setFont(new Font("Arial", Font.BOLD, 28));
            //Titulo da Label
            jlbTitulo.setText("Dice Game");

            jlbnewRollA = new JLabel();
            jlbnewRollA.setBounds(new Rectangle(154, 119, 114, 108));

            jContentPane = new JPanel();
            jContentPane.setLayout(null);
            jContentPane.add(getJbtrollDie(), null);
            jContentPane.add(jlbnewRollA, null);
            jContentPane.add(jlbTitulo, null);
            jContentPane.add(jlbNumeracao, null);
            jContentPane.add(jlbnewRollA1, null);
            jContentPane.add(jlbSinalDeMais, null);
            jContentPane.add(getJbtInformacao(), null);
        }
        return jContentPane;
    }

    public void actionPerformed(ActionEvent e) {

        //Randomiza o 1ª Dado
        int newRollA = (int) (6 * Math.random() + 1);

        // Dados verde FORA do pacote imagens
        if (newRollA == 1) {

            jlbnewRollA.setIcon(new ImageIcon(getClass().getResource(
                    ("dice-1.png"))));

        } else if (newRollA == 2) {

            jlbnewRollA.setIcon(new ImageIcon(getClass().getResource(
                    ("dice-2.png"))));

        } else if (newRollA == 3) {

            jlbnewRollA.setIcon(new ImageIcon(getClass().getResource(
                    ("dice-3.png"))));

        } else if (newRollA == 4) {

            jlbnewRollA.setIcon(new ImageIcon(getClass().getResource(
                    ("dice-4.png"))));

        } else if (newRollA == 5) {

            jlbnewRollA.setIcon(new ImageIcon(getClass().getResource(
                    ("dice-5.png"))));

        } else if (newRollA == 6) {

            jlbnewRollA.setIcon(new ImageIcon(getClass().getResource(
                    ("dice-6.png"))));
        }

        //Randomiza o 2ª Dado
        int newRollB = (int) (6 * Math.random() + 1);

        // Dados verde DENTRO do pacote imagens
        if (newRollB == 1) {

            jlbnewRollA1.setIcon(new ImageIcon(getClass().getResource(
                    ("/imagens/dice-1.png"))));

        } else if (newRollB == 2) {

            jlbnewRollA1.setIcon(new ImageIcon(getClass().getResource(
                    ("/imagens/dice-2.png"))));

        } else if (newRollB == 3) {

            jlbnewRollA1.setIcon(new ImageIcon(getClass().getResource(
                    ("/imagens/dice-3.png"))));

        } else if (newRollB == 4) {

            jlbnewRollA1.setIcon(new ImageIcon(getClass().getResource(
                    ("/imagens/dice-4.png"))));

        } else if (newRollB == 5) {

            jlbnewRollA1.setIcon(new ImageIcon(getClass().getResource(
                    ("/imagens/dice-5.png"))));

        } else if (newRollB == 6) {

            jlbnewRollA1.setIcon(new ImageIcon(getClass().getResource(
                    ("/imagens/dice-6.png"))));
        }

        int soma = newRollA + newRollB;

        jlbSinalDeMais.setText("+");

        jlbNumeracao.setText("= " + soma);

    }
}

 

 

 

 

 

 

Download link:

https://www.4shared.com/file/ZyYK6J24ei/Dice_Game.html

Have a fun :)

Anúncios