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.y 0 # Posición Y de la zona jugable
|
||||||
game.play_area.rect.w 320 # Ancho 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.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 ---
|
||||||
fade.color 1F2B30 # Color hexadecimal para el efecto de fundido
|
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.y 0 # Posición Y de la zona jugable
|
||||||
game.play_area.rect.w 320 # Ancho 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.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 ---
|
||||||
fade.color 1F2B30 # Color hexadecimal para el efecto de fundido
|
fade.color 1F2B30 # Color hexadecimal para el efecto de fundido
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
#include "scoreboard.h" // Para Scoreboard, ScoreboardMode
|
#include "scoreboard.h" // Para Scoreboard, ScoreboardMode
|
||||||
#include "stage.h" // Para power_can_be_added
|
#include "stage.h" // Para power_can_be_added
|
||||||
#include "texture.h" // Para Texture
|
#include "texture.h" // Para Texture
|
||||||
|
#include "manage_hiscore_table.h" // Para ManageHiScoreTable, HiScoreEntry
|
||||||
|
|
||||||
|
|
||||||
// Constructor
|
// 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)
|
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_->setPosX(std::clamp(X, MIN_X, MAX_X));
|
||||||
player_sprite_->setVelX(-player_sprite_->getVelX());
|
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
|
// 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_;
|
pos_y_ = default_pos_y_;
|
||||||
player_sprite_->clear();
|
player_sprite_->clear();
|
||||||
shiftSprite();
|
shiftSprite();
|
||||||
playRandomBubbleSound();
|
playJumpingSound();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -207,7 +209,7 @@ void Player::move()
|
|||||||
player_sprite_->setPosY(play_area_.h - HEIGHT_);
|
player_sprite_->setPosY(play_area_.h - HEIGHT_);
|
||||||
player_sprite_->setVelY(player_sprite_->getVelY() * -0.5f);
|
player_sprite_->setVelY(player_sprite_->getVelY() * -0.5f);
|
||||||
player_sprite_->setVelX(player_sprite_->getVelX() * 0.75f);
|
player_sprite_->setVelX(player_sprite_->getVelX() * 0.75f);
|
||||||
playRandomBubbleSound();
|
playJumpingSound();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -546,6 +548,7 @@ void Player::setPlayingState(PlayerState state)
|
|||||||
showing_name_ticks_ = SDL_GetTicks();
|
showing_name_ticks_ = SDL_GetTicks();
|
||||||
setScoreboardMode(ScoreboardMode::SHOW_NAME);
|
setScoreboardMode(ScoreboardMode::SHOW_NAME);
|
||||||
Scoreboard::get()->setRecordName(scoreboard_panel_, last_enter_name_);
|
Scoreboard::get()->setRecordName(scoreboard_panel_, last_enter_name_);
|
||||||
|
addScoreToScoreBoard();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PlayerState::DYING:
|
case PlayerState::DYING:
|
||||||
@@ -780,7 +783,8 @@ void Player::decEnterNameCounter()
|
|||||||
enter_name_counter_ = param.game.enter_name_seconds;
|
enter_name_counter_ = param.game.enter_name_seconds;
|
||||||
if (playing_state_ == PlayerState::ENTERING_NAME)
|
if (playing_state_ == PlayerState::ENTERING_NAME)
|
||||||
{
|
{
|
||||||
setPlayingState(PlayerState::CONTINUE);
|
last_enter_name_ = getRecordName();
|
||||||
|
setPlayingState(PlayerState::SHOWING_NAME);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -809,9 +813,16 @@ void Player::shiftSprite()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Hace sonar un ruido al azar
|
// 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");
|
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 decEnterNameCounter(); // Decrementa el contador de entrar nombre
|
||||||
void updateScoreboard(); // Actualiza el panel del marcador
|
void updateScoreboard(); // Actualiza el panel del marcador
|
||||||
void setScoreboardMode(ScoreboardMode mode); // Cambia el modo 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(); }
|
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 "global_inputs.h" // Para check, update
|
||||||
#include "input.h" // Para InputAction, Input, INPUT_DO_NOT_A...
|
#include "input.h" // Para InputAction, Input, INPUT_DO_NOT_A...
|
||||||
#include "item.h" // Para Item, ItemType
|
#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 "manage_hiscore_table.h" // Para ManageHiScoreTable, HiScoreEntry
|
||||||
#include "notifier.h" // Para Notifier
|
#include "notifier.h" // Para Notifier
|
||||||
#include "param.h" // Para Param, param, ParamGame, ParamFade
|
#include "param.h" // Para Param, param, ParamGame, ParamFade
|
||||||
@@ -183,6 +184,8 @@ void Game::setResources()
|
|||||||
// Actualiza el valor de hiScore en caso necesario
|
// Actualiza el valor de hiScore en caso necesario
|
||||||
void Game::updateHiScore()
|
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
|
// Si la puntuación actual es mayor que la máxima puntuación
|
||||||
for (const auto &player : players_)
|
for (const auto &player : players_)
|
||||||
{
|
{
|
||||||
@@ -191,7 +194,6 @@ void Game::updateHiScore()
|
|||||||
// Actualiza la máxima puntuación
|
// Actualiza la máxima puntuación
|
||||||
hi_score_.score = player->getScore();
|
hi_score_.score = player->getScore();
|
||||||
hi_score_.name.clear();
|
hi_score_.name.clear();
|
||||||
;
|
|
||||||
|
|
||||||
// Si se supera la máxima puntuación emite sonido
|
// Si se supera la máxima puntuación emite sonido
|
||||||
if (hi_score_achieved_ == false)
|
if (hi_score_achieved_ == false)
|
||||||
|
|||||||
Reference in New Issue
Block a user