тут единственный косяк может быть в том, что ели объект вышел далеко за рамки и не успевает вернуться в прямоугольник за один тик - он будет постоянно менять направление на противоположное пока не выйдет
а вообще, тебе надо решать задачу поиска точки пересечения отрезка [предыдущее положение муравья, текущее положение муравья] с границей и считать отражение