gameboard
Class OthelloBoard

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.OthelloBoard
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

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

Created on October 30, 2006, 8:26 PM
Refactored the main applet panel and placed the cells of the game board in a seperate panel.
Will make handling clicked events easier to follow, and the code easier to read. t.4 Added support for playing a network game.

Version:
t.4
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 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
OthelloBoard()
          Creates a new instance of OthelloBoard
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
          Adds the property change listener.
 int countCells(java.lang.String countColor)
          Counts the cells of the given player color.
 void doPlacement(java.awt.Point cp)
          Place a piece on the board.
 void flipCells(java.awt.Point cp)
          Flip the cells after a piece has been placed.
 java.awt.Color getCurrentPlayer()
          Gets the current player color.
 java.lang.String getCurrentPlayerString()
          Gets the current player as as string.
 java.awt.Point getEnemyOver()
          Get the cell the enemy is over.
 java.beans.PropertyChangeSupport getPropertySupport()
          Gets the property change support.
 void initBoard()
          Initializes the cells on the board.
 void pauseGame(boolean pg)
          Changes the pause state of the game.
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Removes the property change listener.
 void resetBackgrounds()
          Resets the backgrounds after a piece has been placed.
 void setCurrentPlayer(java.awt.Color currentPlayer)
          Sets the color of the current player.
 void setEnemyOver(java.awt.Point enemyOver, java.awt.Color enemyColor)
          Sets the point representing the cell the enemy is over.
 void setEnemyPlaced(java.awt.Point ep, java.awt.Color ec)
          Sets an enemy piece on the board.
 void setStart()
          Sets the initial pieces on the game board.
 void setTurn(java.lang.String iAmPlayer)
          Sets whose turn it is.
 void stopGame()
          Stops the game.
 void undoPlacement(java.awt.Point cp)
          Undo a placement if it turns out the move was not valid.
 boolean validate(java.awt.Point cp)
          Validates the point to see if it is a legal move.
 
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

OthelloBoard

public OthelloBoard()
Creates a new instance of OthelloBoard

Method Detail

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds the property change listener.

Overrides:
addPropertyChangeListener in class java.awt.Container
Parameters:
listener - The new listener.

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes the property change listener.

Overrides:
removePropertyChangeListener in class java.awt.Component
Parameters:
listener - The listener to remove.

getPropertySupport

public java.beans.PropertyChangeSupport getPropertySupport()
Gets the property change support.

Returns:
The property change support.

initBoard

public void initBoard()
Initializes the cells on the board.
Then calls setStart to place the initial pieces.


setStart

public void setStart()
Sets the initial pieces on the game board.


stopGame

public void stopGame()
Stops the game.


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.

pauseGame

public void pauseGame(boolean pg)
Changes the pause state of the game.

Parameters:
pg - The new pause state of the game.

setEnemyPlaced

public void setEnemyPlaced(java.awt.Point ep,
                           java.awt.Color ec)
Sets an enemy piece on the board.

Parameters:
ep - The position of the piece the enemy placed.
ec - The color of the enemy.

resetBackgrounds

public void resetBackgrounds()
Resets the backgrounds after a piece has been placed.


getCurrentPlayerString

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

Returns:
The current player.

validate

public boolean validate(java.awt.Point cp)
Validates the point to see if it is a legal move.

Parameters:
cp - The point to be validated.
Returns:
True if a valid move, false otherwise.

setTurn

public void setTurn(java.lang.String iAmPlayer)
Sets whose turn it is.

Parameters:
iAmPlayer - Whose turn it is.

undoPlacement

public void undoPlacement(java.awt.Point cp)
Undo a placement if it turns out the move was not valid.

Parameters:
cp - The point to remove the piece from.

doPlacement

public void doPlacement(java.awt.Point cp)
Place a piece on the board.

Parameters:
cp - The point where the piece is to be placed.

flipCells

public void flipCells(java.awt.Point cp)
Flip the cells after a piece has been placed.

Parameters:
cp - The point of origin for the flipping.

countCells

public int countCells(java.lang.String countColor)
Counts the cells of the given player color.

Parameters:
countColor - The player color to count.
Returns:
The count of cells of the player color.

getEnemyOver

public java.awt.Point getEnemyOver()
Get the cell the enemy is over.

Returns:
The point representation of the cell the enemy is over.

setEnemyOver

public void setEnemyOver(java.awt.Point enemyOver,
                         java.awt.Color enemyColor)
Sets the point representing the cell the enemy is over.

Parameters:
enemyOver - The point the enemy is over.
enemyColor - The color of the enemy.