Client for playing 300 publicly available Sokoban puzzles on a computer or phone.
slider_value = function(slider, x)
	local s = slider
	if x < s.x0 then x = s.x0 end
	if x > s.x1 then x = s.x1 end
	s.x = x
	s.value = s.lo + (s.x-s.x0)*(s.hi-s.lo)/(s.x1-s.x0)
	return s.value
end