#pragma once #include "spriteanimated.h" #include "const.h" #include "globals.h" #include "globals2.h" #ifndef PLAYER_H #define PLAYER_H //The player class Player { public: //Constructor Player(); //Iniciador void init(); //Comprueba la entrada (teclado, gamepad) y actua en consecuencia void checkInput(Uint8 input); //Mueve el jugador a la posición y animación que le corresponde void move(); //Pinta el jugador en pantalla void render(); //Establece el estado del jugador void setStatus(int status); //Establece la animación correspondiente al estado void setAnimation(); //Obtiene el valor de la variable int getPosX(); //Obtiene el valor de la variable int getPosY(); //Obtiene el valor de la variable int getWidth(); //Obtiene el valor de la variable int getHeight(); //Indica si el jugador puede disparar bool canFire(); //Establece el valor de la variable void setFireCooldown(int time); //Actualiza el valor de la variable void updateCooldown(); //Actualiza al jugador a su posicion, animación y controla los contadores void update(); //Obtiene la puntuación del jugador int getScore(); //Establece la puntuación del jugador void setScore(int score); //Añade a la puntuación del jugador void addScore(int score); //Obtiene el circulo de colisión Circle &getCollider(); private: //Posición X, Y del jugador float mPosX; int mPosY; //Altura y anchura del jugador Uint8 mWidth; Uint8 mHeight; //Velocidad X, Y del jugador float mVelX; int mVelY; //Velocidad base del jugador float mBaseSpeed; //Contador durante el cual no puede disparar int mCooldown; //Vidas actuales del jugador Uint8 mLives; //Vidas iniciales del jugador Uint8 mStartingLives; //Puntos del jugador int mScore; //Estado del jugador Uint8 mStatus; //Sprite para dibujar al jugador en pantalla SpriteAnimated mSprite; //Circulo de colisión del jugador Circle mCollider; //Actualiza el circulo de colisión a la posición del jugador void shiftColliders(); }; #endif