Решил порисовать прямоугольники. Голубые статичные, розовый можно двигать. У каждого прямоугольника 4 параметра: координаты центра, длина, ширина.
Сравнивать положение таким образом не очень удобно, потому я использую север-юг, запад-восток для каждого. Вот проверка попадания розового (p
) в голубой (o
):
if (o.getW() < p.getE() && o.getE() > p.getW() &&
o.getN() < p.getS() && o.getS() > p.getN())
Нужно при попадании розового прямоугольника в голубой (при выполнении условия выше) изменить его координату так, чтобы он оказался вне голубого, будто бы и не входил в него.