¿Cómo puedo configurar la gravedad utilizando este código?

Estoy tratando de hacer un juego y estoy atascado en la gravedad ..... En el siguiente código, un rectángulo representa a un jugador y cuando presiono la tecla arriba se mueve en el eje y, pero cuando lo activo (es decir, restableciendo su posición anterior) no se anima (es decir, no salta) en lugar de eso solo permanece en su posición. Estoy usando la biblioteca SFML de C ++ y esa es una herramienta de desarrollo de juegos. ¡Por favor ayuda!

#include <SFML/Graphics.hpp>

int main(){
sf::RenderWindow window(sf::VideoMode(800, 600, 32), "Gravity");


sf::RectangleShape rectangle;
rectangle.setSize(sf::Vector2f(100, 100));
rectangle.setFillColor(sf::Color::Black);
rectangle.setPosition(sf::Vector2f(10, 350));

while(window.isOpen())
{
    sf::Event Event;
    while(window.pollEvent(Event))
    {
        if(Event.type == sf::Event::Closed)
        {
            window.close();
        }
    }
    if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
    {
        rectangle.move(0, -1);
    }
    if(rectangle.getPosition().y >= 350-1)
    {
        rectangle.setPosition(0, 350);
    }
    window.display();
    window.clear(sf::Color::Cyan);
    window.draw(rectangle);
}
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta