infpp.oceanlife
Class OilBlob

java.lang.Object
  extended by java.lang.Thread
      extended by infpp.oceanlife.OceanObject
          extended by infpp.oceanlife.OilBlob
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable

public class OilBlob
extends OceanObject

Implements objects of the type oil blob. The coordinates and the icon are given from the super class "OceanObject". The movement direction is defined here.

Author:
tdu, akue
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
private  int dir0
          Sets the width of the x-direction of the bubble's movement.
private  int dir1
          Sets the amplitude of the x-direction of the bubble's movement.
private  int dir2
          Sets the width of the y-direction of the bubble's movement.
private  int dir3
          Sets the amplitude of the y-direction of the bubble's movement.
 
Fields inherited from class infpp.oceanlife.OceanObject
COLLISION_LEFT_BOUND, COLLISION_LOWER_BOUND, COLLISION_RIGHT_BOUND, COLLISION_UPPER_BOUND, currentOcean, direction, id, myID, NO_COLLISION
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
OilBlob(int x, int y, javax.swing.ImageIcon oilBlobIcon, Ocean currentOcean)
           
 
Method Summary
 java.lang.String toString()
           
protected  void updateDirection()
          Updates the oil blob's direction vector Switch statement for the cases when the oil blob collides with the ocean bounds.
 
Methods inherited from class infpp.oceanlife.OceanObject
getDimensionsOfIcon, getObjectIcon, getObjectID, getObjectIDString, getPosition, getPositionX, getPositionY, getUniqueOceanObjectID, isHighlighted, isToDie, objectCollidesWithOceanBounds, run, setHighlighted, setObjectIcon, setPositionWhenAdding, setPositionWhenMoving, setToDie
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

dir0

private int dir0
Sets the width of the x-direction of the bubble's movement.


dir1

private int dir1
Sets the amplitude of the x-direction of the bubble's movement.


dir2

private int dir2
Sets the width of the y-direction of the bubble's movement.


dir3

private int dir3
Sets the amplitude of the y-direction of the bubble's movement.

Constructor Detail

OilBlob

public OilBlob(int x,
               int y,
               javax.swing.ImageIcon oilBlobIcon,
               Ocean currentOcean)
        throws java.lang.Exception
Parameters:
x - the oil blob's x coordinate
y - the oil blob's y coordinate
currentOcean - the ocean the oil blob resides in
Throws:
throws - exception for the position
java.lang.Exception
Method Detail

updateDirection

protected void updateDirection()
Updates the oil blob's direction vector Switch statement for the cases when the oil blob collides with the ocean bounds. The oil blob is not removed when it collides with the upper bound. Exception for removing the bubble is caught here.

Overrides:
updateDirection in class OceanObject

toString

public java.lang.String toString()
Overrides:
toString in class OceanObject
Returns:
a string representation of the object.