help with the codes

makarov's Avatar, Join Date: Nov 2009
Newbie Member
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.
Attached Images
File Type: jpg Roll Dice.jpg (5.3 KB, 2 views)
Attached Files
File Type: txt DiceRoller1.txt (841 Bytes, 3 views)
File Type: txt Die1.txt (1.4 KB, 3 views)
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Instead of attaching your code try to post the code which you think is problematic
0
makarov's Avatar, Join Date: Nov 2009
Newbie Member
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);	
	}
}