public override List<GameState> getSuccessorStates(GameState state) {
GameState temp = presentState;
List<GameState> retVal = new List<GameState>();
int parentLevel = getLevel(state);
for (int i = 0; i < getMoves(state).Count; i++) {
XYLocation loc = (XYLocation) getMoves(state).get(i);
GameState aState = makeMove(state, loc);
aState.put("moveMade", loc);
aState.put("level", new int(parentLevel + 1));
retVal.Add(aState);
}
presentState = temp;
return retVal;
}