|
AP® Computer Science Marine Biology Simulation | |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
AP® Computer Science Marine Biology Simulation:
Environment
provides an interface for a two-dimensional,
grid-like environment containing locatable objects. For example,
it could be an environment of fish for a marine biology simulation.
The Environment
interface is
copyright© 2002 College Entrance Examination Board
(www.collegeboard.com).
Direction
,
Locatable
,
Location
Method Summary | |
void |
add(Locatable obj)
Adds a new object to this environment at the location it specifies. |
Locatable[] |
allObjects()
Returns all the objects in this environment. |
Direction |
getDirection(Location fromLoc,
Location toLoc)
Returns the direction from one location to another. |
Location |
getNeighbor(Location fromLoc,
Direction compassDir)
Returns the adjacent neighbor (whether valid or invalid) of a location in the specified direction. |
boolean |
isEmpty(Location loc)
Determines whether a specific location in this environment is empty. |
boolean |
isValid(Location loc)
Verifies whether a location is valid in this environment. |
java.util.ArrayList |
neighborsOf(Location ofLoc)
Returns the adjacent neighbors of a specified location. |
int |
numAdjacentNeighbors()
Returns the number of adjacent neighbors around each cell. |
int |
numCellSides()
Returns the number of sides around each cell. |
int |
numCols()
Returns number of columns in this environment. |
int |
numObjects()
Returns the number of objects in this environment. |
int |
numRows()
Returns number of rows in this environment. |
Locatable |
objectAt(Location loc)
Returns the object at a specific location in this environment. |
Direction |
randomDirection()
Generates a random direction. |
void |
recordMove(Locatable obj,
Location oldLoc)
Updates this environment to reflect the fact that an object moved. |
void |
remove(Locatable obj)
Removes the object from this environment. |
Method Detail |
public int numRows()
public int numCols()
public boolean isValid(Location loc)
loc
- location to checktrue
if loc
is valid;
false
otherwisepublic int numCellSides()
public int numAdjacentNeighbors()
public Direction randomDirection()
randomDirection
reflects the direction from
a cell in the environment to one of its adjacent neighbors.public Direction getDirection(Location fromLoc, Location toLoc)
fromLoc
- starting location for searchtoLoc
- destination locationfromLoc
to toLoc
public Location getNeighbor(Location fromLoc, Direction compassDir)
fromLoc
- starting location for searchcompassDir
- direction in which to look for adjacent neighborfromLoc
in given directionpublic java.util.ArrayList neighborsOf(Location ofLoc)
ofLoc
- location whose neighbors to getofLoc
public int numObjects()
public Locatable[] allObjects()
public boolean isEmpty(Location loc)
loc
- the location to testtrue
if loc
is a
valid location in the context of this environment
and is empty; false
otherwisepublic Locatable objectAt(Location loc)
loc
- the location in which to lookloc
;
null
if loc
is not
in the environment or is emptypublic void add(Locatable obj)
obj.location()
is a valid empty location.)obj
- the new object to be addedjava.lang.IllegalArgumentException
- if the precondition is not metpublic void remove(Locatable obj)
obj
is in this environment.)obj
- the object to be removedjava.lang.IllegalArgumentException
- if the precondition is not metpublic void recordMove(Locatable obj, Location oldLoc)
obj.location()
is a valid location
and there is no other object there.
Postcondition: obj
is at the appropriate location
(obj.location()
), and either oldLoc
is
equal to obj.location()
(there was no movement) or
oldLoc
is empty.)obj
- the object that movedoldLoc
- the previous location of obj
java.lang.IllegalArgumentException
- if the precondition is not met
|
AP® Computer Science Marine Biology Simulation | |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |