This is my first game, I need to know how I could improve this code:main.cpp#include <SFML/Graphics.hpp>#include <SFML/Audio.hpp>#include <iostream>#include <sstream>#include <math.h>#include Menu.hint main(){const int screenX = 600;const int screenY = 400;sf::Vector2f paddleSize(10, 60);const int ballRad = 5;float ballSpeed = 400.f;float ballAngle = 75.f;sf::Vector2f velocity;sf::RenderWindow window(sf::VideoMode(screenX,screenY), Pong, sf::Style::Titlebar | sf::Style::Close);Menu menu(window.getSize().x, window.getSize().y);window.setVerticalSyncEnabled(true);sf::RectangleShape paddle1;paddle1.setSize(paddleSize);paddle1.setFillColor(sf::Color::White);paddle1.setPosition(paddleSize.x,(screenY/2)-paddleSize.y);paddle1.setOrigin(sf::Vector2f(paddle1.getSize().x / 2, paddle1.getSize().y / 2));sf::RectangleShape paddle2;paddle2.setSize(paddleSize);paddle2.setFillColor(sf::Color::White);paddle2.setPosition(screenX-(paddleSize.x*2), (screenY/2)-paddleSize.y);sf::RectangleShape topBorder;topBorder.setSize(sf::Vector2f(screenX,paddleSize.x));topBorder.setPosition(0, 0);sf::RectangleShape botBorder;botBorder.setSize(sf::Vector2f(screenX, paddleSize.x));botBorder.setPosition(0, screenY-paddleSize.x);sf::Font font;if (!font.loadFromFile(digit.ttf))    return EXIT_FAILURE;//bool Sound;sf::SoundBuffer bufferPaddle;if (!bufferPaddle.loadFromFile(res/SoundFX/paddle.wav)) {}sf::Sound soundPaddle;soundPaddle.setBuffer(bufferPaddle);sf::SoundBuffer bufferScore;if (!bufferScore.loadFromFile(res/SoundFX/score.wav)) {}sf::Sound soundScore;soundScore.setBuffer(bufferScore);sf::SoundBuffer bufferWall;if (!bufferWall.loadFromFile(res/SoundFX/wall.wav)) {}sf::Sound soundWall;soundWall.setBuffer(bufferWall);int intScore1 = 0;sf::Text textScore1;std::string strScore1 = std::to_string(intScore1);textScore1.setString(strScore1);textScore1.setFont(font);textScore1.setCharacterSize(paddleSize.y*1.5f);textScore1.setPosition(sf::Vector2f(screenX/5.f, 0.f));int intScore2 = 0;sf::Text textScore2;std::string strScore2 = std::to_string(intScore2);textScore2.setString(strScore2);textScore2.setFont(font);textScore2.setCharacterSize(paddleSize.y*1.5f);textScore2.setPosition(sf::Vector2f(365.f, 0.f));//add sf::VertexArray, dashed line splitting map into 2sf::Vertex line[] ={    sf::Vertex(sf::Vector2f(screenX/2+1,0)),    sf::Vertex(sf::Vector2f(screenX/2+1,screenY))};sf::CircleShape ball(ballRad);ball.setPointCount(10);ball.setFillColor(sf::Color::White);ball.setPosition(sf::Vector2f(screenX/2.f, screenY/2.f));//run prog as long as the window is opensf::Clock clock;bool Playing = false;while (window.isOpen()){    if (Playing)     {           float deltaTime = clock.restart().asSeconds();        float factor = deltaTime * ballSpeed;        velocity.x = std::cos(ballAngle)*factor;        velocity.y = std::sin(ballAngle)*factor;        ball.move(velocity.x, velocity.y);        if ((ball.getGlobalBounds().intersects(paddle2.getGlobalBounds())) || ball.getGlobalBounds().intersects(paddle1.getGlobalBounds()))        {            ball.move(-ball.move);            velocity.x = -(velocity.x);            ballSpeed = -ballSpeed;            ballAngle = -ballAngle;            soundPaddle.play();        }        if (ball.getGlobalBounds().intersects(topBorder.getGlobalBounds()) || ball.getGlobalBounds().intersects(botBorder.getGlobalBounds()))        {            velocity.x = -velocity.x;            ballAngle = -ballAngle;            soundWall.play();        }        if ((sf::Keyboard::isKeyPressed(sf::Keyboard::W)) && !(paddle1.getGlobalBounds().intersects(topBorder.getGlobalBounds()))) //only move up if not touching top border            paddle1.move(sf::Vector2f(0, -(paddleSize.x / 2)));        if ((sf::Keyboard::isKeyPressed(sf::Keyboard::S)) && !(paddle1.getGlobalBounds().intersects(botBorder.getGlobalBounds())))            paddle1.move(sf::Vector2f(0, paddleSize.x / 2));        if ((sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) && !(paddle2.getGlobalBounds().intersects(topBorder.getGlobalBounds())))            paddle2.move(sf::Vector2f(0, -(paddleSize.x / 2)));        if ((sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) && !(paddle2.getGlobalBounds().intersects(botBorder.getGlobalBounds())))            paddle2.move(sf::Vector2f(0, paddleSize.x / 2));        if (ball.getPosition().x > paddle2.getPosition().x + 2*ballRad)        {            intScore1++;            strScore1 = std::to_string(intScore1);            textScore1.setString(strScore1);            ball.setPosition(sf::Vector2f(screenX / 2, screenY / 2));            soundScore.play();        }        if (ball.getPosition().x < paddle1.getPosition().x - 2*ballRad)        {            intScore2++;            strScore2 = std::to_string(intScore2);            textScore2.setString(strScore2);            ball.setPosition(sf::Vector2f(screenX/2, screenY/2));            soundScore.play();        }        window.clear(sf::Color::Black);        window.draw(paddle1);        window.draw(paddle2);        window.draw(ball);        window.draw(topBorder);        window.draw(botBorder);        window.draw(line, 2, sf::Lines);        window.draw(textScore1);        window.draw(textScore2);        window.display();    }    if (!Playing)    {        window.clear(sf::Color::Black);        menu.draw(window);        window.display();    }    //check all the window's events that were triggered since the last iteration of the loop    sf::Event event;    while (window.pollEvent(event))    {        //close requested event: we close the window        switch (event.type)        {        case sf::Event::Closed:            window.close();        case sf::Event::KeyPressed:            switch (event.key.code)        case sf::Keyboard::Escape:            Playing = false;            break;        case sf::Event::KeyReleased:  //menu controls            switch (event.key.code)            {            case sf::Keyboard::Up:              case sf::Keyboard::W:                menu.MoveUp();                break;            case sf::Keyboard::Down:            case sf::Keyboard::S:                menu.MoveDown();                break;            case sf::Keyboard::Return:                switch (menu.GetPressedItem())                {                case 0:                    Playing = true;                    break;                case 1:                    //open sound menu                    //Sound = !Sound; add to sound menu                    break;                case 2:                    window.close();                    break;                }                break;            }            break;        }    }}return EXIT_SUCCESS;}Menu.h#pragma once#include <SFML/Graphics.hpp>#define MAX_NUMBER_ITEMS 3class Menu{public:Menu(float width, float height);~Menu();void draw(sf::RenderWindow &window);void MoveUp();void MoveDown();int GetPressedItem() { return selectecItemIndex; }private:int selectecItemIndex;sf::Font font;sf::Text menu[MAX_NUMBER_ITEMS];};Menu.cpp#include Menu.hMenu::Menu(float width, float height){if (!font.loadFromFile(pong.ttf)){  }menu[0].setFont(font);menu[0].setFillColor(sf::Color(128,128,128));menu[0].setString(Play);menu[0].setPosition(sf::Vector2f(width / 2,height /(MAX_NUMBER_ITEMS+1)*1));menu[1].setFont(font);menu[1].setFillColor(sf::Color::White);menu[1].setString(Options);menu[1].setPosition(sf::Vector2f(width / 2,height /(MAX_NUMBER_ITEMS+1)*2));menu[2].setFont(font);menu[2].setFillColor(sf::Color::White);menu[2].setString(Exit);menu[2].setPosition(sf::Vector2f(width / 2,height/(MAX_NUMBER_ITEMS+1)*3));selectecItemIndex = 0;}Menu::~Menu(){}void Menu::draw(sf::RenderWindow &window){for (int i = 0; i < MAX_NUMBER_ITEMS; i++){    window.draw(menu[i]);}}void Menu::MoveUp(){if (selectecItemIndex - 1 >= 0){    menu[selectecItemIndex].setFillColor(sf::Color::White);    selectecItemIndex--;    menu[selectecItemIndex].setFillColor(sf::Color(128,128,128));}}void Menu::MoveDown(){if (selectecItemIndex + 1 < MAX_NUMBER_ITEMS){    menu[selectecItemIndex].setFillColor(sf::Color::White);    selectecItemIndex++;    menu[selectecItemIndex].setFillColor(sf::Color(128, 128, 128));}}Note I'm not quite sure of all the technical details of the menu class as it came from a slightly advanced tutorial, I'll need to go into classes in greater detail. 
Pong game in C++ SFML
c++;beginner;game;sfml