minesweeper
Class MineField
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--javax.swing.JComponent
|
+--javax.swing.JPanel
|
+--minesweeper.MineField
- All Implemented Interfaces:
- Accessible, ImageObserver, MenuContainer, Serializable
- public class MineField
- extends JPanel
A mine fied.
- See Also:
- Serialized Form
Fields inherited from class javax.swing.JComponent |
_bounds, accessibleContext, actionMap, ACTIONMAP_CREATED, alignmentX, alignmentY, ANCESTOR_INPUTMAP_CREATED, ANCESTOR_USING_BUFFER, ancestorInputMap, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, CREATED_DOUBLE_BUFFER, flags, FOCUS_INPUTMAP_CREATED, focusInputMap, HAS_FOCUS, htmlKey, htmlView, inputVerifier, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEY_EVENTS_ENABLED, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, verifyInputWhenFocusTarget, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, WHEN_IN_FOCUSED_WINDOW_BINDINGS, WIF_INPUTMAP_CREATED, windowInputMap |
Fields inherited from class java.awt.Container |
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads, serialVersionUID |
Fields inherited from class java.awt.Component |
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y |
Constructor Summary |
MineField(int iColumns,
int iRows,
int iMines)
Creates a new mine field, with the specified number of columns and rows and mines. |
Method Summary |
void |
addListener(minesweeper.event.MineFieldListener mflListener)
Adds the specified mine field listener to receive event from this field. |
void |
dispatchMines(int iAvoidRow,
int iAvoidColumn)
Dispatches the mines in this field, avoiding the cell of specified coordinates. |
protected void |
fireFlagAdded()
Fires a flagAdded event. |
protected void |
fireFlagRemoved()
Fires a flagRemoved event. |
protected void |
fireGameStarts()
Fires a gameStarts event. |
protected void |
fireSteppedOnAMine()
Fires a steppedOnAMine event. |
MineFieldCell |
getCell(int iRow,
int iColumn)
Returns the cell of specified position |
int |
getColumnCount()
Returns the number of columns. |
int |
getRowCount()
Returns the number of rows. |
void |
removeListener(minesweeper.event.MineFieldListener mflListener)
Removes the specified mine field listener so that it no longer receive events from this field. |
void |
reset(boolean bFirstCall)
Reset the mine field. |
protected void |
reveal(Point ptLocation)
Reveals the cell of specified location. |
protected void |
revealSurrounders(Point ptLocation)
Reveals the surrounders of the cell of specified location. |
void |
setDimension(int iColumns,
int iRows)
Sets the number of columns and rows of this mine field. |
void |
startGame(Point ptNoMineThere)
Starts the game: dispatches the mines, avoiding the specified point. |
void |
stopGame()
Stops the game. |
protected void |
toggleFlag(Point ptLocation)
Toggles a flag at the cell of specified location. |
Methods inherited from class javax.swing.JComponent |
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, checkIfChildObscuredBySibling, clearFocusOwners, componentInputMapChanged, computeVisibleRect, computeVisibleRect, compWriteObjectNotify, contains, createToolTip, disable, enable, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getCreatedDoubleBuffer, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInputMap, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setCreatedDoubleBuffer, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, unregisterWithKeyboardManager, update |
Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree |
Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, constructComponentName, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resetGC, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait |
CELLWIDTH
private static final int CELLWIDTH
- The maximum width of columns.
iColumns
private int iColumns
- The number of columns.
iRows
private int iRows
- The number of rows.
iInitialMines
private int iInitialMines
- The initial number of mines.
bGameAllowed
private boolean bGameAllowed
- The flag indicating whether the game is running.
bGameStarted
private boolean bGameStarted
- The flag indicating whether the game is started.
mfcCells
private MineFieldCell[][] mfcCells
- The array of mine field cells.
jtTable
private JTable jtTable
- The JTable.
tmTableModel
private final AbstractTableModel tmTableModel
- The table model.
mfeEvent
private minesweeper.event.MineFieldEvent mfeEvent
- The source of events.
MineField
public MineField(int iColumns,
int iRows,
int iMines)
- Creates a new mine field, with the specified number of columns and rows and mines.
getCell
public MineFieldCell getCell(int iRow,
int iColumn)
- Returns the cell of specified position
getColumnCount
public int getColumnCount()
- Returns the number of columns.
getRowCount
public int getRowCount()
- Returns the number of rows.
dispatchMines
public void dispatchMines(int iAvoidRow,
int iAvoidColumn)
- Dispatches the mines in this field, avoiding the cell of specified coordinates.
reset
public void reset(boolean bFirstCall)
- Reset the mine field.
- Parameters:
bFirstCall
- indicates whether this is an initialisation and not a reset
setDimension
public void setDimension(int iColumns,
int iRows)
- Sets the number of columns and rows of this mine field.
startGame
public void startGame(Point ptNoMineThere)
- Starts the game: dispatches the mines, avoiding the specified point.
stopGame
public void stopGame()
- Stops the game.
reveal
protected void reveal(Point ptLocation)
- Reveals the cell of specified location.
revealSurrounders
protected void revealSurrounders(Point ptLocation)
- Reveals the surrounders of the cell of specified location.
toggleFlag
protected void toggleFlag(Point ptLocation)
- Toggles a flag at the cell of specified location.
addListener
public void addListener(minesweeper.event.MineFieldListener mflListener)
- Adds the specified mine field listener to receive event from this field.
removeListener
public void removeListener(minesweeper.event.MineFieldListener mflListener)
- Removes the specified mine field listener so that it no longer receive events from this field.
fireFlagAdded
protected void fireFlagAdded()
- Fires a flagAdded event.
fireFlagRemoved
protected void fireFlagRemoved()
- Fires a flagRemoved event.
fireGameStarts
protected void fireGameStarts()
- Fires a gameStarts event.
fireSteppedOnAMine
protected void fireSteppedOnAMine()
- Fires a steppedOnAMine event.