Implementat contador per a posar el nom al acabar la partida

This commit is contained in:
2024-10-16 09:18:22 +02:00
parent dbffda491f
commit 24556eeaa8
6 changed files with 75 additions and 30 deletions

View File

@@ -55,7 +55,9 @@ void Player::init()
coffees_ = 0;
input_ = true;
continue_ticks_ = 0;
continue_counter_ = 20;
continue_counter_ = 10;
enter_name_ticks_ = 0;
enter_name_counter_ = param.game.enter_name_seconds;
width_ = 30;
height_ = 30;
collider_.r = 9;
@@ -347,6 +349,7 @@ void Player::update()
updatePowerUpCounter();
updateInvulnerable();
updateContinueCounter();
updateEnterNameCounter();
updateScoreboard();
}
@@ -711,6 +714,20 @@ void Player::updateContinueCounter()
}
}
// Actualiza el contador de entrar nombre
void Player::updateEnterNameCounter()
{
if (status_playing_ == PlayerStatus::ENTERING_NAME)
{
constexpr Uint32 ticks_speed = 1000;
if (SDL_GetTicks() - enter_name_ticks_ > ticks_speed)
{
decEnterNameCounter();
}
}
}
// Le asigna un panel en el marcador al jugador
void Player::setScoreBoardPanel(int panel)
{
@@ -734,6 +751,18 @@ void Player::decContinueCounter()
}
}
// Decrementa el contador de entrar nombre
void Player::decEnterNameCounter()
{
enter_name_ticks_ = SDL_GetTicks();
--enter_name_counter_;
if (enter_name_counter_ < 0)
{
enter_name_counter_ = param.game.enter_name_seconds;
setStatusPlaying(PlayerStatus::CONTINUE);
}
}
// Establece el nombre del jugador
void Player::setName(const std::string &name)
{