gameboard
Class OthelloCell

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 gameboard.AbsThreadedJP
                      extended by gameboard.OthelloCell
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible
Direct Known Subclasses:
CurrentPlayerPanel, ScorePanel

public class OthelloCell
extends AbsThreadedJP
implements java.awt.event.MouseListener, java.io.Serializable

The individual game cells on the game board.
Stores the current othello game piece.
Added the current player color, used when placing a piece on the board.
t.3 adds flipping the cells.

Version:
t.3
Author:
Eric Angeli
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class gameboard.AbsThreadedJP
runner
 
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
OthelloCell()
          Creates a new instance of OthelloCell
 
Method Summary
 void flip()
          Flips the piece in the cell to the opposite color.
 java.awt.Color getCurrentPlayer()
          Gets the current player color.
 java.lang.String getCurrentPlayerString()
          Gets the string of the current color player.
 java.lang.String getPlacedPiece()
          Gets the string of the color placed, if a color has been placed.
 java.awt.Point getThePoint()
          Returns the point representation of the cell.
 Sprite2D getTheSprite()
          Gets the sprite that represents the piece on the cell.
 Sprite2D getUnderSideSprite()
          The underside sprite, used to create try and create a 3D effect.
 boolean isFilled()
          If the sprite is filled, ie whether to draw it on the game board or not.
 void mouseClicked(java.awt.event.MouseEvent me)
          Handles the mouse clicked event.
 void mouseEntered(java.awt.event.MouseEvent me)
          Handles the mouse entered event.
 void mouseExited(java.awt.event.MouseEvent me)
          Handles the mouse exited event.
 void mousePressed(java.awt.event.MouseEvent me)
          Handles the mouse pressed event.
 void mouseReleased(java.awt.event.MouseEvent me)
          Handles the mouse released event.
 void renderSprites(java.awt.Graphics2D g)
          Renders the sprites in the cell and draws the boarder around the cell.
 void resetSprites()
          Resets the sprites so that they are displayed and visible.
 void restore()
          Restores the sprites in the cell, sets their location and makes them visible.
 void setCurrentPlayer(java.awt.Color currentPlayer)
          Sets the color of the current player.
 void setFilled(boolean filled)
          Sets the filled state of the cell.
 void setSpriteColor(java.awt.Color spriteColor)
          Sets the color of the sprites.
 void setThePoint(java.awt.Point thePoint)
          Sets the point that stores the location of the cell in the board.
 void setTheSprite(Sprite2D theSprite)
          Sets the sprite.
 void setUnderSideSprite(Sprite2D underSideSprite)
          Sets the underside sprite.
 void suspend()
          Suspends the cell.
 void updateGame()
          Updates the game, not used for the othello cell panel.
 
Methods inherited from class gameboard.AbsThreadedJP
addPropertyChangeListener, getBgColor, getBoard, getG2d, getGameSleep, getLevel, getPropertySupport, init, isPauseGame, paintGame, removePropertyChangeListener, renderPanel, resumeGame, run, setBgColor, setBoard, setGameSleep, setLevel, setPauseGame, startGame, stopGame
 
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, 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, 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, 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, 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
 

Constructor Detail

OthelloCell

public OthelloCell()
Creates a new instance of OthelloCell

Method Detail

updateGame

public void updateGame()
Updates the game, not used for the othello cell panel.

Specified by:
updateGame in class AbsThreadedJP

setThePoint

public void setThePoint(java.awt.Point thePoint)
Sets the point that stores the location of the cell in the board.

Parameters:
thePoint - the x,y location of the cell.

renderSprites

public void renderSprites(java.awt.Graphics2D g)
Renders the sprites in the cell and draws the boarder around the cell.

Specified by:
renderSprites in class AbsThreadedJP
Parameters:
g - The graphics used to paint.

restore

public void restore()
Restores the sprites in the cell, sets their location and makes them visible.


suspend

public void suspend()
Suspends the cell.


flip

public void flip()
Flips the piece in the cell to the opposite color.


setSpriteColor

public void setSpriteColor(java.awt.Color spriteColor)
Sets the color of the sprites. Sets the underside sprite color to be the opposite color of the main sprite.

Parameters:
spriteColor - The color of the player's piece placed on the cell.

resetSprites

public void resetSprites()
Resets the sprites so that they are displayed and visible.


mouseClicked

public void mouseClicked(java.awt.event.MouseEvent me)
Handles the mouse clicked event.

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
me - The mouseevent trigger.

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent me)
Handles the mouse entered event.

Specified by:
mouseEntered in interface java.awt.event.MouseListener
Parameters:
me - The mouseevent trigger.

mouseExited

public void mouseExited(java.awt.event.MouseEvent me)
Handles the mouse exited event.

Specified by:
mouseExited in interface java.awt.event.MouseListener
Parameters:
me - The mouseevent trigger.

mousePressed

public void mousePressed(java.awt.event.MouseEvent me)
Handles the mouse pressed event.

Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
me - The mouseevent trigger.

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent me)
Handles the mouse released event.

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
me - The mouseevent trigger.

getCurrentPlayer

public java.awt.Color getCurrentPlayer()
Gets the current player color.

Returns:
The color of the current player.

setCurrentPlayer

public void setCurrentPlayer(java.awt.Color currentPlayer)
Sets the color of the current player.

Parameters:
currentPlayer - The color of the current player.

getCurrentPlayerString

public java.lang.String getCurrentPlayerString()
Gets the string of the current color player.

Returns:
The string representation of the player.

getTheSprite

public Sprite2D getTheSprite()
Gets the sprite that represents the piece on the cell.

Returns:
The sprite representing the piece placed. in the cell.

setTheSprite

public void setTheSprite(Sprite2D theSprite)
Sets the sprite.

Parameters:
theSprite - The new sprite in the cell.

getUnderSideSprite

public Sprite2D getUnderSideSprite()
The underside sprite, used to create try and create a 3D effect.

Returns:
The underside sprite.

setUnderSideSprite

public void setUnderSideSprite(Sprite2D underSideSprite)
Sets the underside sprite.

Parameters:
underSideSprite - The new underside sprite.

isFilled

public boolean isFilled()
If the sprite is filled, ie whether to draw it on the game board or not.

Returns:
True for filled, otherwise false.

setFilled

public void setFilled(boolean filled)
Sets the filled state of the cell.

Parameters:
filled - The new filled state, true if filled, false if not.

getThePoint

public java.awt.Point getThePoint()
Returns the point representation of the cell.

Returns:
The point this cell represents.

getPlacedPiece

public java.lang.String getPlacedPiece()
Gets the string of the color placed, if a color has been placed.

Returns:
The string representation of the color of the piece placed in the cell.