Nova animació per a la mort del personatge

Nova lògica al morir
This commit is contained in:
2024-11-17 08:43:24 +01:00
parent da74b8dfce
commit 47e468034f
5 changed files with 77 additions and 34 deletions

View File

@@ -39,7 +39,7 @@ enum class PlayerState
GAME_OVER, // No está jugando y no puede entrar a jugar
CELEBRATING, // Poniendo pose de victoria
ENTERING_NAME_GAME_COMPLETED, // Poniendo nombre en el tramo final del juego
GAME_COMPLETED, // Moviendose fuera de la pantalla
LEAVING_SCREEN, // Moviendose fuera de la pantalla
};
// Clase Player
@@ -115,7 +115,7 @@ private:
// Cambia el modo del marcador
void setScoreboardMode(ScoreboardMode mode);
bool isRenderable() const { return isPlaying() || isDying() || isCelebrating() || isEnteringNameGameCompleted() || isGameCompleted(); }
bool isRenderable() const { return !isWaiting() && !isGameOver(); }
public:
// Constructor
@@ -187,22 +187,25 @@ public:
// Obtiene la posición que se está editando del nombre del jugador para la tabla de mejores puntuaciones
int getRecordNamePos() const;
bool canFire() const { return cooldown_ > 0 ? false : true; }
// Comprobación de playing_state
bool hasDied() const { return playing_state_ == PlayerState::DIED; }
bool hasExtraHit() const { return extra_hit_; }
bool isCelebrating() const { return playing_state_ == PlayerState::CELEBRATING; }
bool isContinue() const { return playing_state_ == PlayerState::CONTINUE; }
bool isCooling() { return firing_state_ == PlayerState::COOLING_LEFT || firing_state_ == PlayerState::COOLING_UP || firing_state_ == PlayerState::COOLING_RIGHT; }
bool isDying() const { return playing_state_ == PlayerState::DYING; }
bool IsEligibleForHighScore() { return score_ > options.game.hi_score_table.back().score; }
bool isEnteringName() const { return playing_state_ == PlayerState::ENTERING_NAME; }
bool isEnteringNameGameCompleted() const { return playing_state_ == PlayerState::ENTERING_NAME_GAME_COMPLETED; }
bool isGameCompleted() const { return playing_state_ == PlayerState::GAME_COMPLETED; }
bool isLeavingScreen() const { return playing_state_ == PlayerState::LEAVING_SCREEN; }
bool isGameOver() const { return playing_state_ == PlayerState::GAME_OVER; }
bool isInvulnerable() const { return invulnerable_; }
bool isPlaying() const { return playing_state_ == PlayerState::PLAYING; }
bool isPowerUp() const { return power_up_; }
bool isWaiting() const { return playing_state_ == PlayerState::WAITING; }
// Getters
bool canFire() const { return cooldown_ > 0 ? false : true; }
bool hasExtraHit() const { return extra_hit_; }
bool isCooling() { return firing_state_ == PlayerState::COOLING_LEFT || firing_state_ == PlayerState::COOLING_UP || firing_state_ == PlayerState::COOLING_RIGHT; }
bool IsEligibleForHighScore() { return score_ > options.game.hi_score_table.back().score; }
bool isInvulnerable() const { return invulnerable_; }
bool isPowerUp() const { return power_up_; }
Circle &getCollider() { return collider_; }
float getScoreMultiplier() const { return score_multiplier_; }
int getCoffees() const { return coffees_; }
@@ -220,6 +223,8 @@ public:
int getWidth() const { return WIDTH_; }
PlayerState getPlayingState() const { return playing_state_; }
std::string getName() const { return name_; }
// Setters
void setController(int index) { controller_index_ = index; }
void setFireCooldown(int time) { cooldown_ = time; }
void setFiringState(PlayerState state) { firing_state_ = state; }