enmig del berenjenal d'afegir estats nous al jugador

This commit is contained in:
2024-08-14 11:59:16 +02:00
parent c246472098
commit 90706d5d0c
4 changed files with 129 additions and 98 deletions

View File

@@ -17,6 +17,10 @@
#define PLAYER_STATUS_FIRING_RIGHT 2
#define PLAYER_STATUS_FIRING_NO 3
#define PLAYER_STATUS_PLAYING 0
#define PLAYER_STATUS_CONTINUE 1
#define PLAYER_STATUS_WAITING 2
// Variables del jugador
#define PLAYER_INVULNERABLE_COUNTER 200
#define PLAYER_POWERUP_COUNTER 1500
@@ -48,8 +52,9 @@ private:
int score; // Puntos del jugador
float scoreMultiplier; // Multiplicador de puntos
int statusWalking; // Estado del jugador
int statusFiring; // Estado del jugador
int statusWalking; // Estado del jugador al moverse
int statusFiring; // Estado del jugador al disparar
int statusPlaying; // Estado del jugador en el juego
bool invulnerable; // Indica si el jugador es invulnerable
int invulnerableCounter; // Contador para la invulnerabilidad
@@ -60,8 +65,8 @@ private:
int powerUpDespX; // Desplazamiento del sprite de PowerUp respecto al sprite del jugador
bool input; // Indica si puede recibir ordenes de entrada
circle_t collider; // Circulo de colisión del jugador
bool alive; // Indica si el jugador está vivo
bool enabled; // Indica si el jugador está activo
int continueCounter; // Contador para poder continuar
Uint32 continueTicks; // Variable para poder cambiar el contador de continue en función del tiempo
// Actualiza el circulo de colisión a la posición del jugador
void shiftColliders();
@@ -69,6 +74,9 @@ private:
// Monitoriza el estado
void updateInvulnerable();
// Actualiza el contador de continue
void updateContinueCounter();
public:
// Constructor
Player(float x, int y, std::vector<Texture *> texture, std::vector<std::vector<std::string> *> animations);
@@ -133,11 +141,17 @@ public:
// Incrementa la puntuación del jugador
void addScore(Uint32 score);
// Obtiene el valor de la variable
bool isAlive();
// Indica si el jugador está jugando
bool isPlaying();
// Establece el valor de la variable
void setAlive(bool value);
// Indica si el jugador está continuando
bool isContinue();
// Indica si el jugador está esperando
bool isWaiting();
// Establece el estado del jugador en el juego
void setStatusPlaying(int value);
// Obtiene el valor de la variable
float getScoreMultiplier();
@@ -202,9 +216,6 @@ public:
// Obtiene el puntero a la textura con los gráficos de la animación de morir
Texture *getDeadTexture();
// Activa o descativa el jugador
void enable(bool value);
// Obtiene el valor de la variable
bool isEnabled();
int getContinueCounter();
};