← index
MasterX_System/system/src/pong_window.hpp
Source: MasterX_System/system/src/pong_window.hpp
#ifndef _PONG_WINDOW_H_

#define _PONG_WINDOW_H_


#include"mx_window.hpp"

#include"window.hpp"


namespace mx {

    class Dimension;

    class PongWindow : public Window {
    public:
        PongWindow(mxApp &app);
        virtual ~PongWindow();

        virtual void draw(mxApp &app) override;
        virtual bool event(mxApp &app, SDL_Event &e) override;
        virtual void screenResize(int w, int h) override;

        static void main(mxApp &app, Dimension *dim);
        static DimensionContainer *dim_c;
        static PongWindow *pong_window;

        void newGame();
        void resetGame();

    private:
        SDL_Texture *draw_tex = nullptr;
        void drawGame(mxApp &app);
        int ballX = 0;
        int ballY = 0;
        int ballVelX = 0; 
        int ballVelY = 0;
        int ballSpeed = 5;
        int playerPaddleX = 0;
        int playerPaddleY = 0;
        int aiPaddleX = 0;
        int aiPaddleY = 0;
        int paddleWidth = 10;
        int paddleHeight = 100;
        int paddleSpeed = 5;
        int aiPaddleSpeed = 4;
        int playerScore = 0;
        int aiScore = 0;
        int windowWidth = 640;  
        int windowHeight = 480;
        int ballSize = 5;
    };
}

#endif