public List < AState > getAllNeighbors(AState state)
	{
		List < AState > neighbors = new ArrayList < AState >();
		for(Direction dir : Direction.values())
		{
			AState neighbor = this.getNeighbor(state, dir);
			if(neighbor != null && !neighbor.isBlock())
				neighbors.add(neighbor);
		}
		return neighbors;
	}