Условие перемещения фигуры по периметру графического окна
проблема такова, не могу подобрать необходимые условия для того, чтобы фигуры в консольном окне перемещались по периметру этого окна по часовой стрелке
void move()
{ // x, y - координаты начала отрисовки, dx, dy - шаг для перемещения, Pix - переменная, где хранится размерность графического окна, r - радиус (так как я рисую окружности и треугольники)
x += dx;
y += dy;
if (x >= (Pix - r))
{
if (dy == 0) { y -= dy; dx = -dy; dy = 0; }
}
if (x <= 5)
{
if (dy == 0) { x -= dx; dy = dx; dx = 0; }
}
if (y <= 5)
{
if (dx == 0) { y -= dy; dx = -dy; dy = 0; }
}
}
Это моя лучшая версия, с данным кодом фигуры двигаются от верхнего левого угла в верхний правый и останавливаются, более никаких идей нет.