#pragma once #include "sprite.h" #include "const.h" #include "globals.h" #include "globals2.h" #ifndef BALLOON_H #define BALLOON_H //Clase globo class Balloon { public: //Constructor Balloon(); //Inicializador void init(int x, int y, Uint8 kind, float velx, Uint16 creationtimer); //Centra el globo en la posición X void allignTo(int x); //Pinta el globo en la pantalla void render(); //Actualiza la posición y estados del globo void move(); //Pone a cero todos los valores del globo void erase(); //Comprueba si el globo tiene algun tipo asignado bool isActive(); //Obtiene del valor de la variable int getPosX(); //Obtiene del valor de la variable int getPosY(); //Obtiene del valor de la variable float getVelY(); //Obtiene del valor de la variable int getWidth(); //Obtiene del valor de la variable int getHeight(); //Establece el valor de la variable void setVelY(float velY); //Obtiene del valor de la variable int getKind(); //Establece el valor de la variable void setStop(bool state); //Obtiene del valor de la variable bool isStopped(); //Establece el valor de la variable void setBlink(bool state); //Obtiene del valor de la variable bool isBlinking(); //Establece el valor de la variable void setVisible(bool state); //Obtiene del valor de la variable bool isVisible(); //Establece el valor de la variable void setInvulnerable(bool state); //Obtiene del valor de la variable bool isInvulnerable(); //Establece el valor de la variable void setBeingCreated(bool state); //Obtiene del valor de la variable bool isBeingCreated(); //Establece el valor de la variable void setStoppedTimer(Uint16 time); //Obtiene del valor de la variable Uint16 getStoppedTimer(); //Obtiene del valor de la variable Uint16 getScore(); //Obtiene el circulo de colisión Circle &getCollider(); private: //Posición X,Y del objeto globo float mPosX; int mPosY; //Alto y ancho del objeto globo Uint8 mWidth; Uint8 mHeight; //Variables para controlar la velocidad del globo float mVelX; float mVelY; float mGravity; float mDefaultVelY; int mMaxVelY; //Puntos que da el globo al ser destruido Uint16 mScore; //Indica si el globo está parado bool mStopped; //Temporizador para controlar el estado "parado" Uint16 mStoppedTimer; //Indica si el globo está intermitente bool mBlinking; //Indica si el globo es visible bool mVisible; //Indica si el globo es invulnerable bool mInvulnerable; //Indica si el globo se está creando bool mBeingCreated; //Temporizador para controlar el estado "creandose" Uint16 mCreationTimer; //Tipo de globo Uint8 mKind; //Sprite del objeto globo Sprite mSprite; //Circulo de colisión del objeto Circle mCollider; //Alinea el circulo de colisión con la posición del objeto globo void shiftColliders(); }; #endif