Reduit de 60 a 30 segons de temps per a posar el nom

fix: quan se t'acaba el temps per a posar el nom, no posaves nom. ara posa lo que tingues posat
This commit is contained in:
2025-06-30 21:24:11 +02:00
parent 9873972cf2
commit 7039ea4511
5 changed files with 26 additions and 12 deletions

View File

@@ -6,7 +6,7 @@ game.play_area.rect.x 0 # Posición X de la zona jugable
game.play_area.rect.y 0 # Posición Y de la zona jugable
game.play_area.rect.w 320 # Ancho de la zona jugable
game.play_area.rect.h 200 # Alto de la zona jugable
game.enter_name_seconds 60 # Segundos para introducir el nombre al finalizar la partida
game.enter_name_seconds 30 # Segundos para introducir el nombre al finalizar la partida
## --- FADE ---
fade.color 1F2B30 # Color hexadecimal para el efecto de fundido

View File

@@ -6,7 +6,7 @@ game.play_area.rect.x 0 # Posición X de la zona jugable
game.play_area.rect.y 0 # Posición Y de la zona jugable
game.play_area.rect.w 320 # Ancho de la zona jugable
game.play_area.rect.h 216 # Alto de la zona jugable
game.enter_name_seconds 60 # Segundos para introducir el nombre al finalizar la partida
game.enter_name_seconds 30 # Segundos para introducir el nombre al finalizar la partida
## --- FADE ---
fade.color 1F2B30 # Color hexadecimal para el efecto de fundido

View File

@@ -12,6 +12,8 @@
#include "scoreboard.h" // Para Scoreboard, ScoreboardMode
#include "stage.h" // Para power_can_be_added
#include "texture.h" // Para Texture
#include "manage_hiscore_table.h" // Para ManageHiScoreTable, HiScoreEntry
// Constructor
Player::Player(int id, float x, int y, bool demo, SDL_FRect &play_area, std::vector<std::shared_ptr<Texture>> texture, const std::vector<std::vector<std::string>> &animations)
@@ -184,7 +186,7 @@ void Player::move()
{
player_sprite_->setPosX(std::clamp(X, MIN_X, MAX_X));
player_sprite_->setVelX(-player_sprite_->getVelX());
playRandomBubbleSound();
playJumpingSound();
}
// Si el cadaver toca el suelo rebota y si tiene poca velocidad, se detiene y cambia de estado
@@ -199,7 +201,7 @@ void Player::move()
pos_y_ = default_pos_y_;
player_sprite_->clear();
shiftSprite();
playRandomBubbleSound();
playJumpingSound();
}
else
{
@@ -207,7 +209,7 @@ void Player::move()
player_sprite_->setPosY(play_area_.h - HEIGHT_);
player_sprite_->setVelY(player_sprite_->getVelY() * -0.5f);
player_sprite_->setVelX(player_sprite_->getVelX() * 0.75f);
playRandomBubbleSound();
playJumpingSound();
}
}
break;
@@ -546,6 +548,7 @@ void Player::setPlayingState(PlayerState state)
showing_name_ticks_ = SDL_GetTicks();
setScoreboardMode(ScoreboardMode::SHOW_NAME);
Scoreboard::get()->setRecordName(scoreboard_panel_, last_enter_name_);
addScoreToScoreBoard();
break;
}
case PlayerState::DYING:
@@ -780,7 +783,8 @@ void Player::decEnterNameCounter()
enter_name_counter_ = param.game.enter_name_seconds;
if (playing_state_ == PlayerState::ENTERING_NAME)
{
setPlayingState(PlayerState::CONTINUE);
last_enter_name_ = getRecordName();
setPlayingState(PlayerState::SHOWING_NAME);
}
else
{
@@ -809,9 +813,16 @@ void Player::shiftSprite()
}
// Hace sonar un ruido al azar
void Player::playRandomBubbleSound()
void Player::playJumpingSound()
{
// const std::vector<std::string> sounds = {"bubble1.wav", "bubble2.wav", "bubble3.wav", "bubble4.wav"};
// Audio::get()->playSound(sounds.at(rand() % sounds.size()));
Audio::get()->playSound("jump.wav");
}
// Añade una puntuación a la tabla de records
void Player::addScoreToScoreBoard()
{
const auto entry = HiScoreEntry(trim(getLastEnterName()), getScore(), get1CC());
auto manager = std::make_unique<ManageHiScoreTable>(Options::settings.hi_score_table);
Options::settings.last_hi_score_entry.at(getId() - 1) = manager->add(entry);
manager->saveToFile(Asset::get()->get("score.bin"));
}

View File

@@ -210,6 +210,7 @@ private:
void decEnterNameCounter(); // Decrementa el contador de entrar nombre
void updateScoreboard(); // Actualiza el panel del marcador
void setScoreboardMode(ScoreboardMode mode); // Cambia el modo del marcador
void playRandomBubbleSound(); // Hace sonar un sonido aleatorio
void playJumpingSound(); // Hace sonar un sonido aleatorio
bool isRenderable() const { return !isWaiting() && !isGameOver(); }
void addScoreToScoreBoard(); // Añade una puntuación a la tabla de records
};

View File

@@ -18,7 +18,8 @@
#include "global_inputs.h" // Para check, update
#include "input.h" // Para InputAction, Input, INPUT_DO_NOT_A...
#include "item.h" // Para Item, ItemType
#include "audio.h" // Para Audio::icStateplaynclude "lang.h" // Para getText
#include "audio.h" // Para Audio
#include "lang.h" // Para getText
#include "manage_hiscore_table.h" // Para ManageHiScoreTable, HiScoreEntry
#include "notifier.h" // Para Notifier
#include "param.h" // Para Param, param, ParamGame, ParamFade
@@ -183,6 +184,8 @@ void Game::setResources()
// Actualiza el valor de hiScore en caso necesario
void Game::updateHiScore()
{
hi_score_.name = Options::settings.hi_score_table.front().name;
// Si la puntuación actual es mayor que la máxima puntuación
for (const auto &player : players_)
{
@@ -191,7 +194,6 @@ void Game::updateHiScore()
// Actualiza la máxima puntuación
hi_score_.score = player->getScore();
hi_score_.name.clear();
;
// Si se supera la máxima puntuación emite sonido
if (hi_score_achieved_ == false)