Обход препятсвия с++

void monsterMove(float playerX, float playerY)
    {

        speed = 0.05f;
        // Вычисляем вектор до игрока
        float dxToPlayer = playerX - x;
        float dyToPlayer = playerY - y;
        sf::Vector2f newPosition(x, y);
        if (!checkCollision(newPosition, 64, tilePositions, tilePositionsExceptions))
        {
            if (abs(dxToPlayer) < abs(dyToPlayer))
            {
                dx = 0;

                if (dyToPlayer > 0)
                    dy = speed;
                else
                    dy = -speed;
            }
            else
            {
                dy = 0;
                if (dxToPlayer > 0)
                    dx = speed;
                else
                    dx = -speed;
            }
        }
        else
        {
           
            cout << "collisions" << endl;
            // обход препятсвия
        }
    }

у меня есть движения монстра , и он должен ходить за игроком,ну монстр должен обходить препятсвия, есть функция какая проверяет столкнования.Как сделать обход препятсвия?


Ответы (0 шт):