public class BlockDudeState extends java.lang.Object implements MutableOOState
| Modifier and Type | Field and Description |
|---|---|
BlockDudeAgent |
agent |
java.util.List<BlockDudeCell> |
blocks |
BlockDudeCell |
exit |
BlockDudeMap |
map |
| Constructor and Description |
|---|
BlockDudeState() |
BlockDudeState(BlockDudeAgent agent,
BlockDudeMap map,
BlockDudeCell exit,
BlockDudeCell... blocks) |
BlockDudeState(BlockDudeAgent agent,
BlockDudeMap map,
BlockDudeCell exit,
java.util.List<BlockDudeCell> blocks) |
BlockDudeState(int w,
int h,
int nBlocks) |
| Modifier and Type | Method and Description |
|---|---|
MutableOOState |
addObject(ObjectInstance o)
Adds object instance o to this state.
|
BlockDudeCell |
block(int i) |
protected int |
blockForName(java.lang.String ob) |
State |
copy()
Returns a copy of this state suitable for creating state transitions.
|
void |
copyBlocks() |
java.lang.Object |
get(java.lang.Object variableKey)
Returns the value for the given variable key.
|
int |
numObjects()
Returns the number of object instances in this state.
|
ObjectInstance |
object(java.lang.String oname)
Returns the object in this state with the name oname
|
java.util.List<ObjectInstance> |
objects()
Returns the list of object instances in this state.
|
java.util.List<ObjectInstance> |
objectsOfClass(java.lang.String oclass)
Returns all objects that belong to the object class named oclass
|
MutableOOState |
removeObject(java.lang.String oname)
Removes the object instance with the name oname from this state.
|
MutableOOState |
renameObject(java.lang.String objectName,
java.lang.String newName)
Renames the identifier for object instance o in this state to newName.
|
MutableState |
set(java.lang.Object variableKey,
java.lang.Object value)
Sets the value for the given variable key.
|
java.lang.String |
toString() |
java.util.List<java.lang.Object> |
variableKeys()
Returns the list of state variable keys.
|
public BlockDudeAgent agent
public BlockDudeMap map
public BlockDudeCell exit
public java.util.List<BlockDudeCell> blocks
public BlockDudeState()
public BlockDudeState(int w,
int h,
int nBlocks)
public BlockDudeState(BlockDudeAgent agent, BlockDudeMap map, BlockDudeCell exit, BlockDudeCell... blocks)
public BlockDudeState(BlockDudeAgent agent, BlockDudeMap map, BlockDudeCell exit, java.util.List<BlockDudeCell> blocks)
public MutableOOState addObject(ObjectInstance o)
MutableOOStateaddObject in interface MutableOOStateo - the object instance to be added to this state.public MutableOOState removeObject(java.lang.String oname)
MutableOOStateremoveObject in interface MutableOOStateoname - the name of the object instance to remove.public MutableOOState renameObject(java.lang.String objectName, java.lang.String newName)
MutableOOStaterenameObject in interface MutableOOStateobjectName - the current object namenewName - the new name of the object instancepublic int numObjects()
OOStatenumObjects in interface OOStatepublic ObjectInstance object(java.lang.String oname)
OOStatepublic java.util.List<ObjectInstance> objects()
OOStatepublic java.util.List<ObjectInstance> objectsOfClass(java.lang.String oclass)
OOStateobjectsOfClass in interface OOStateoclass - the name of the object class for which objects should be returnedpublic MutableState set(java.lang.Object variableKey, java.lang.Object value)
MutableStateset in interface MutableStatevariableKey - the key identifier for the variable value to changevalue - the variable value to which the variable should be set.public java.util.List<java.lang.Object> variableKeys()
StatevariableKeys in interface Statepublic java.lang.Object get(java.lang.Object variableKey)
Statepublic State copy()
StateDeepCopyState or ShallowCopyState annotations. If it is a shallow copy, you should not *directly*
modify any fields of a copied state without copying the fields first, or it could contaminate the state from
which the copy was made. Alternatively, use the MutableState.set(Object, Object) method to modify
ShallowCopyState copied states,
which for ShallowCopyState instances should perform a safe copy-on-write operation.public BlockDudeCell block(int i)
protected int blockForName(java.lang.String ob)
public java.lang.String toString()
toString in class java.lang.Objectpublic void copyBlocks()