edu.uah.math.devices
Class DiceBoard

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.uah.math.devices.DiceBoard
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class DiceBoard
extends javax.swing.JPanel
implements java.io.Serializable

This class is a container that holds dice. The number of dice can be varied, and the probabilities, back color, and spot color can be set for all of the dice at once. An individual die can be obtained so that the properties of that die can be set or returned.

Version:
August, 2003
Author:
Kyle Siegrist, Dawn Duehring
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int FAIR
           
static int FLAT16
           
static int FLAT25
           
static int FLAT34
           
static int LEFT
           
static int RIGHT
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DiceBoard()
          This default constructor cretes a new dice board with 10 fair dice, and with default size and colors.
DiceBoard(int n)
          This sepcial constructor creates a new dice board with a specified number of fair dice, and with default size and colors.
DiceBoard(int n, double[] p)
          This special constructor creates a new dice board with a specified number of dice, a spcified probability distribution, and with default size 36, back color red and spot color white.
DiceBoard(int n, double[] p, int s)
          This special constructor creates a new dice board with a specified number of dice, size, probability distribution, and with default back color red and default spot color white.
DiceBoard(int n, double[] p, int s, java.awt.Color bc, java.awt.Color sc)
          This general constructor creates a new dice board with a specified number of dice, a specified preferred size, specified probability distribution, and specified colors.
DiceBoard(int n, int t)
          This sepcial constructor creates a new dice board with a specified number of dice, of a special type, a specified size, and with size and colors.
DiceBoard(int n, int t, int s)
          This sepcial constructor creates a new dice board with a specified number of dice, of a special type, a specified size, and with default colors.
DiceBoard(int n, int t, int s, java.awt.Color bc, java.awt.Color sc)
          This general constructor creates a new dice board with a specified number of dice, a specified probability distribution of special type, and with specified size and colors.
 
Method Summary
 java.awt.Color getBackColor()
          This method returns the common back color.
 int getCount(int x)
          This method returns the count for a given score for a specified number of dice.
 Die getDie(int i)
          This method returns a specified die.
 int getDieCount()
          This method gets the number of dice.
 double[] getProbabilities()
          This method returns the probability distribution.
 double getProbabilities(int i)
          This method returns an individual probability in the common probability distribution.
 java.awt.Color getSpotColor()
          This method returns the common spot color
 int getSum()
          This method returns the sum of the scores of the first n dice.
 int[] getValues()
          This method returns the array of values.
 int getValues(int i)
          This method returns the value of an individual coin
 boolean isRolled()
          This method returns the state of the dice (rolled or not rolled).
 void roll()
          This method rolls the dice.
 void setBackColor(java.awt.Color c)
          This method sets the back color for all of the dice.
 void setColors(java.awt.Color bc, java.awt.Color sc)
          This method sets the colors of all of the dice.
 void setDieCount(int n)
          This method sets the number of dice.
 void setProbabilities(double[] p)
          This method sets the probability distribution for all of the dice.
 void setRolled(boolean b)
          This method sets the state of the dice (rolled or not rolled).
 void setSpecialProbabilities(int t)
          This method sets the probability distribution of all of the dice to a special type.
 void setSpotColor(java.awt.Color c)
          This method sets the spot color for all of the dice.
 void setValues(int[] v)
          This method sets the array of values.
 void setValues(int i, int x)
          This method sets the value of an individual coin.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FAIR

public static final int FAIR
See Also:
Constant Field Values

FLAT16

public static final int FLAT16
See Also:
Constant Field Values

FLAT25

public static final int FLAT25
See Also:
Constant Field Values

FLAT34

public static final int FLAT34
See Also:
Constant Field Values

LEFT

public static final int LEFT
See Also:
Constant Field Values

RIGHT

public static final int RIGHT
See Also:
Constant Field Values
Constructor Detail

DiceBoard

public DiceBoard(int n,
                 double[] p,
                 int s,
                 java.awt.Color bc,
                 java.awt.Color sc)
This general constructor creates a new dice board with a specified number of dice, a specified preferred size, specified probability distribution, and specified colors.

Parameters:
n - the number of dice
p - the probability distribution that governs each die
s - the preferred size
bc - the back color of each die
sc - the spot color of each die

DiceBoard

public DiceBoard(int n,
                 double[] p,
                 int s)
This special constructor creates a new dice board with a specified number of dice, size, probability distribution, and with default back color red and default spot color white.

Parameters:
n - the number of dice
p - the probability distribution that governs each die
s - the preferred size

DiceBoard

public DiceBoard(int n,
                 double[] p)
This special constructor creates a new dice board with a specified number of dice, a spcified probability distribution, and with default size 36, back color red and spot color white.

Parameters:
n - the number of dice
p - the probability distribution that governs each die

DiceBoard

public DiceBoard(int n,
                 int t,
                 int s,
                 java.awt.Color bc,
                 java.awt.Color sc)
This general constructor creates a new dice board with a specified number of dice, a specified probability distribution of special type, and with specified size and colors.

Parameters:
n - the number of dice
t - the type of distribution (fair, 1-6 flat, 2-5 flat, 3-4 flat, skewed left, or skewed right)
s - the preferred size of the dice
bc - the back color
sc - the spot color

DiceBoard

public DiceBoard(int n,
                 int t,
                 int s)
This sepcial constructor creates a new dice board with a specified number of dice, of a special type, a specified size, and with default colors.

Parameters:
n - the number of dice
t - the type of distribution (fair, 1-6 flat, 2-5 flat, 3-4 flat, skewed left, or skewed right)
s - the preferred size

DiceBoard

public DiceBoard(int n,
                 int t)
This sepcial constructor creates a new dice board with a specified number of dice, of a special type, a specified size, and with size and colors.

Parameters:
n - the number of dice
t - the type of distribution (fair, 1-6 flat, 2-5 flat, 3-4 flat, skewed left, or skewed right)

DiceBoard

public DiceBoard(int n)
This sepcial constructor creates a new dice board with a specified number of fair dice, and with default size and colors.

Parameters:
n - the number of dice

DiceBoard

public DiceBoard()
This default constructor cretes a new dice board with 10 fair dice, and with default size and colors.

Method Detail

getDieCount

public int getDieCount()
This method gets the number of dice.

Returns:
the number of dice

setDieCount

public void setDieCount(int n)
This method sets the number of dice. If the new die count is greater than the old, an appropriate number of new dice are added. If the new die count is smaller than the old, an appropriate number of dice are removed. The die count updated.

Parameters:
n - the number of dice in the dice board

getDie

public Die getDie(int i)
This method returns a specified die.

Parameters:
i - the index of the die
Returns:
the die corresponding to the index.

setProbabilities

public void setProbabilities(double[] p)
This method sets the probability distribution for all of the dice.

Parameters:
p - the array of probabilities.

setSpecialProbabilities

public void setSpecialProbabilities(int t)
This method sets the probability distribution of all of the dice to a special type.

Parameters:
t - the type of distribution (fair, 1-6 flat, 2-5 flat, 3-4 flat, skewed left, or skewed right)

getProbabilities

public double[] getProbabilities()
This method returns the probability distribution. This is the common distribution unless some of the dice distributions have been changed individually.

Returns:
the array of probabilities

getProbabilities

public double getProbabilities(int i)
This method returns an individual probability in the common probability distribution.

Parameters:
i - the index
Returns:
the probability corresponding to the index

setColors

public void setColors(java.awt.Color bc,
                      java.awt.Color sc)
This method sets the colors of all of the dice.

Parameters:
bc - the back color
sc - the spot color

setBackColor

public void setBackColor(java.awt.Color c)
This method sets the back color for all of the dice.

Parameters:
c - the new back color

getBackColor

public java.awt.Color getBackColor()
This method returns the common back color.

Returns:
the back color

setSpotColor

public void setSpotColor(java.awt.Color c)
This method sets the spot color for all of the dice.

Parameters:
c - the new spot color

getSpotColor

public java.awt.Color getSpotColor()
This method returns the common spot color

Returns:
the spot color

roll

public void roll()
This method rolls the dice.


getSum

public int getSum()
This method returns the sum of the scores of the first n dice.

Returns:
the sum of the scores

getCount

public int getCount(int x)
This method returns the count for a given score for a specified number of dice.

Parameters:
x - the die score (1 to 6)
Returns:
the number of dice with score x.

setRolled

public void setRolled(boolean b)
This method sets the state of the dice (rolled or not rolled). If rolled, the dice are shown with the specified back color and spot color. If not rolled, the dice are shown in outline in the background color.

Parameters:
b - the state of the dice (rolled or not rolled)

isRolled

public boolean isRolled()
This method returns the state of the dice (rolled or not rolled). If rolled, the dice are shown with the specified back color and spot color. If not rolled, an outline of each die is shown in the background color.

Returns:
the state of the die (rolled or not rolled)

setValues

public void setValues(int[] v)
This method sets the array of values.

Parameters:
v - the array of values

getValues

public int[] getValues()
This method returns the array of values.

Returns:
the array of values

setValues

public void setValues(int i,
                      int x)
This method sets the value of an individual coin.

Parameters:
i - the index
x - the value of the coin

getValues

public int getValues(int i)
This method returns the value of an individual coin

Parameters:
i - the index
Returns:
the value of the coin with the index