com.collegeboard.gridworld.grid
Class BoundedGrid<E>

java.lang.Object
  extended by com.collegeboard.gridworld.grid.AbstractGrid<E>
      extended by com.collegeboard.gridworld.grid.BoundedGrid<E>
All Implemented Interfaces:
Grid<E>

public class BoundedGrid<E>
extends AbstractGrid<E>


Field Summary
 
Fields inherited from interface com.collegeboard.gridworld.grid.Grid
EAST, FULL_CIRCLE, HALF_CIRCLE, HALF_LEFT, HALF_RIGHT, LEFT, NORTH, NORTHEAST, NORTHWEST, RIGHT, SOUTH, SOUTHEAST, SOUTHWEST, WEST
 
Constructor Summary
BoundedGrid(int rows, int cols)
          Constructs an empty BoundedGrid object with the given dimensions.
 
Method Summary
 E get(Location loc)
          Returns the object at a specific location in this grid (must be valid)
 ArrayList<Location> getOccupiedLocations()
          Gets the locations in this grid that contain objects.
 int numCols()
          Returns number of columns in this grid.
 int numRows()
          Returns number of rows in this grid.
 void put(Location loc, E obj)
          Adds a new object to this grid.
 E remove(Location loc)
          Removes an object from this grid.
 
Methods inherited from class com.collegeboard.gridworld.grid.AbstractGrid
getAllNeighborLocations, getMainNeighborLocations, getNeighborLocation, isValid, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BoundedGrid

public BoundedGrid(int rows,
                   int cols)
Constructs an empty BoundedGrid object with the given dimensions. (Precondition: rows > 0 and cols > 0.)

Parameters:
rows - number of rows in BoundedGrid
cols - number of columns in BoundedGrid
Method Detail

numRows

public int numRows()
Description copied from interface: Grid
Returns number of rows in this grid.

Returns:
the number of rows, or -1 if the grid is unbounded

numCols

public int numCols()
Description copied from interface: Grid
Returns number of columns in this grid.

Returns:
the number of columns, or -1 if the grid is unbounded

getOccupiedLocations

public ArrayList<Location> getOccupiedLocations()
Description copied from interface: Grid
Gets the locations in this grid that contain objects.

Returns:
an array of all occupied locations in this grid

get

public E get(Location loc)
Description copied from interface: Grid
Returns the object at a specific location in this grid (must be valid)

Parameters:
loc - the location in which to look
Returns:
the object at location loc; null if loc is empty

put

public void put(Location loc,
                E obj)
Description copied from interface: Grid
Adds a new object to this grid.

Parameters:
loc - the location at which to put the object (must be valid)
obj - the new object to be added (must not be null)

remove

public E remove(Location loc)
Description copied from interface: Grid
Removes an object from this grid.

Parameters:
loc - the location of the object that is to be removed (must be valid)
Returns:
the object that was removed, or null if no object was in the given location