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

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.5 changed from passing around the player color as a Color object to a string representation of the player.
No longer need to use the underSidesprite so it has been removed.
t.6 added a sound that can be played when flipping.

Version:
t.6
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 enemyNotOver()
          Resets the cell when the enemy is no longer over the cell.
 void enemyOver(java.awt.Color enemyColor)
          Set the color of the enemy when over the cell.
 void enemyPlaced(java.awt.Color ec)
          Places an enemy's piece on the board.
 void flip()
          Flips the pieces.
Changes the direction of animation so piece is animated as it flips.
 java.lang.String getCurrentPlayer()
          Gets the current player.
 java.awt.Color getCurrentPlayerColor()
          Gets the string of the current color player.
 SoundSprite getFlipSound()
          Gets the sound for flipping.
 java.lang.String getPlacedPiece()
          Gets the string of the color placed, if a color has been placed.
 java.awt.Color getSpriteColor()
          Gets the color of the sprite.
 java.awt.Point getThePoint()
          Gets the point location of the cell in the game board.
 AnimateImageSprite getTheSprite()
          Gets the sprite.
 boolean isFilled()
          The fill state of the sprite
IE whether or not the cell is filled or not.
 boolean isMute()
          The current mute state.
 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 over()
          Sets the cell background color to the current player color when over the cell.
 void placeThePiece()
          Places a piece on the game board.
 void playFlip()
          Plays the flip sound.
 void renderSprites(java.awt.Graphics2D g)
          Renders the sprites in the cell and draws the boarder around the cell.
 void resetSprites()
          Resets the sprite so that it will be painted on the game board.
 void restore()
          Restores the sprites in the cell, sets their location and makes them visible.
 void setCurrentPlayer(java.lang.String currentPlayer)
          Sets the current player.
 void setFilled(boolean filled)
          Sets the fill state of the sprite.
 void setFlipSound(SoundSprite flipSound)
          Sets the flip sound.
 void setMute(boolean mute)
          Sets the mute state.
 void setSpriteColor(java.lang.String spriteColor)
          Sets the color of the sprites.
 void setSpritePlacedColor()
          Used to set the direction of animation.
 void setThePoint(java.awt.Point thePoint)
          Sets the point that stores the location of the cell in the board.
 void setTheSprite(AnimateImageSprite theSprite)
          Sets the sprite.
 void suspend()
          Suspends the cell.
 void tempPlacement(java.lang.String tc)
          Used to temporarily place a piece on the board.
Mostly used during debuggin.
 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, getRunner, getSleepOffset, init, isPauseGame, paintGame, pauseGame, removePropertyChangeListener, renderPanel, resumeGame, run, setBgColor, setBoard, setGameSleep, setLevel, setPauseGame, setSleepOffset, 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.
Sets fill to false so peice is not drawn on the board.


flip

public void flip()
Flips the pieces.
Changes the direction of animation so piece is animated as it flips.


setSpriteColor

public void setSpriteColor(java.lang.String spriteColor)
Sets the color of the sprites.

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

setSpritePlacedColor

public void setSpritePlacedColor()
Used to set the direction of animation.


getSpriteColor

public java.awt.Color getSpriteColor()
Gets the color of the sprite.

Returns:
The Color of the sprite.

resetSprites

public void resetSprites()
Resets the sprite so that it will be painted on the game board.


enemyOver

public void enemyOver(java.awt.Color enemyColor)
Set the color of the enemy when over the cell.

Parameters:
enemyColor - The enemy color.

enemyNotOver

public void enemyNotOver()
Resets the cell when the enemy is no longer over the cell.


enemyPlaced

public void enemyPlaced(java.awt.Color ec)
Places an enemy's piece on the board.

Parameters:
ec - The color of the enemy that placed a piece.

placeThePiece

public void placeThePiece()
Places a piece on the game board.


tempPlacement

public void tempPlacement(java.lang.String tc)
Used to temporarily place a piece on the board.
Mostly used during debuggin.

Parameters:
tc - The color to place on the board.

over

public void over()
Sets the cell background color to the current player color when over the cell.


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.

getCurrentPlayerColor

public java.awt.Color getCurrentPlayerColor()
Gets the string of the current color player.

Returns:
Returns the color of the current player.

getTheSprite

public AnimateImageSprite getTheSprite()
Gets the sprite.

Returns:
The sprite of the cell.

setTheSprite

public void setTheSprite(AnimateImageSprite theSprite)
Sets the sprite.

Parameters:
theSprite - The new AnimateImageSprite.

isFilled

public boolean isFilled()
The fill state of the sprite
IE whether or not the cell is filled or not.

Returns:
True if filled, false if not.

setFilled

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

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

getThePoint

public java.awt.Point getThePoint()
Gets the point location of the cell in the game board.

Returns:
The point representation of the cell.

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.

setCurrentPlayer

public void setCurrentPlayer(java.lang.String currentPlayer)
Sets the current player.

Parameters:
currentPlayer - The string of the player.

getCurrentPlayer

public java.lang.String getCurrentPlayer()
Gets the current player.

Returns:
A string that represents the current player.

getFlipSound

public SoundSprite getFlipSound()
Gets the sound for flipping.

Returns:
The flip sound.

setFlipSound

public void setFlipSound(SoundSprite flipSound)
Sets the flip sound.

Parameters:
flipSound - The new sound to play when flipping.

isMute

public boolean isMute()
The current mute state.

Returns:
True if muted, false if not.

setMute

public void setMute(boolean mute)
Sets the mute state.

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

playFlip

public void playFlip()
Plays the flip sound.