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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
@@ -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
|
||||
};
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user