public boolean canAttack(int destRow, int destCol, MovementDirection direction)
	{
		int distance = mPieceMovements.getDistance(direction);
		if (distance == PieceMovements.UNLIMITED)
			return true;

		switch (direction)
		{
		case SOUTH:
			return (destRow - mCurrentSquare.getRow()) < distance;
		case NORTH:
			return (mCurrentSquare.getRow() - destRow) < distance;
		case EAST:
			return (destCol - mCurrentSquare.getCol()) < distance;
		case WEST:
			return (mCurrentSquare.getCol() - destCol) < distance;
		case NORTHEAST:
			return (mCurrentSquare.getCol() - destCol) < distance;
		case SOUTHEAST:
			return (mCurrentSquare.getCol() - destCol) < distance;
		case NORTHWEST:
			return (destCol - mCurrentSquare.getCol()) < distance;
		case SOUTHWEST:
			return (destCol - mCurrentSquare.getCol()) < distance;
		default:
			throw new IllegalArgumentException("Unknown movement direction character");
		}
	}