This applet should generate 3 random colours, in the 3 coloured boxes to simulate the rolling of 3 dice. The player choose in the 3 drop down menu below the dice as guesses for what will be thrown. When the button is is pressed, the 3 die are "rolled" and their scores are matched with the guesses in the boxes. The player is told if there are 0, 1, 2 or 3 matches.
Code: import java.applet.Applet; import java.awt.Button; import java.awt.Color; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class DiceRoller extends Applet implements ActionListener{ private Die d1,d2; private Button btnRoll; public void init(){ setSize(220,200); setBackground(Color.green); d1 = new Die(20,40); d2 = new Die(120,40); btnRoll = new Button("ROLL DICE"); btnRoll.addActionListener(this); add(btnRoll); } /** * Display the current values of the 2 dice */ public void paint(Graphics g){ d1.display(g); d2.display(g); } /** * When the button is clicked roll the dice. * */ public void actionPerformed(ActionEvent ae) { d1.roll(); d2.roll(); repaint(); } } Code: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; /** * Simple class to demonstrate a Die * * @author Peter lager * */ public class Die { private int value; private int posX, posY; private Font font; /** * Create a new die at the given position and * set the initial value to 1 * * @param posX * @param posY */ public Die(int posX, int posY) { this.posX = posX; this.posY = posY; value = 1; font = new Font("Courier", Font.BOLD, 60); } /** * Set the top left position to display the die * @param posX * @param posY */ public void setPos(int posX, int posY){ this.posX = posX; this.posY = posY; } /** * @return the value */ public int getValue() { return value; } /** * @param value the value to set */ public void setValue(int value) { this.value = value; } /** * @param font the font to set */ public void setFont(Font font) { this.font = font; } /** * Roll the dice to get a random value between 1& 6 */ public void roll(){ value = (int)(Math.random()*6 + 1); } public void display(Graphics g){ g.setColor(Color.yellow); g.fillRect(posX, posY, 80, 80); g.setColor(Color.black); g.drawRect(posX, posY, 80, 80); g.setFont(font); g.drawString(""+value, posX + 20, posY+60); } }