- После каждого перемещения, нужно посчитать где будут проходить границы круга если нажать ещё раз. И если он выходит за рамки квадрата -- выключить кнопку
- При изменении шага перемещения, нужно выполнить пересчет из пункта №1.
Но есть способ попроще. Вместо того, чтобы включать/выключать кнопки, можно определить максимальное/минимальные координаты для круга. И при каждом перемещении не позволять кругу выйти за установленные лимиты. Так он просто "упрётся" в край квадрата сколько не нажимай.