Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.awt.*;
- /**
- * Labs 3:
- * Created by MAWood on 12/02/2016.
- */
- class Dice extends JFrame {
- private final boolean[][][] states;
- private int state = 5;
- private Dice()
- {
- states = new boolean[][][]{
- {{false,false,false},{false,true, false}, {false,false,false}},
- {{false,false,true}, {false,false,false}, {true,false,false}},
- {{false,false,true}, {false,true, false}, {true,false,false}},
- {{true,false,true}, {false,false,false}, {true,false,true}},
- {{true,false,true}, {false,true, false}, {true,false,true}},
- {{true,true,true}, {false,false,false}, {true,true,true}}};
- this.setSize(80, 150);
- this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- JButton b = new JButton("Randomise");
- this.setLayout(new BorderLayout());
- this.add(b, BorderLayout.SOUTH);
- b.addActionListener(
- e -> repaint()
- );
- this.setVisible(true);
- }
- public void paint(Graphics g)
- {
- super.paint(g);
- state = (int)(Math.random() * 6);
- drawDiceFace(g);
- }
- private void drawDiceFace(Graphics g)
- {
- int xOffset = 30;
- int yOffset = 50;
- int dotSpacing = 20;
- int dotDiameter = 10;
- int border = 10;
- g.setColor(new Color(0f,0f,0f));
- g.drawRect(xOffset - border, yOffset - border, border + dotSpacing*3, border + dotSpacing*3);
- for(int x = 0; x < 3; x++)
- {
- for(int y = 0; y < 3; y++)
- {
- if(states[state][x][y])
- g.fillOval(xOffset + x*dotSpacing, yOffset + y*dotSpacing, dotDiameter, dotDiameter);
- }
- }
- }
- public static void main(String[] args)
- {
- new Dice();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement