Arreglos varios relacionats amb el nom al obtenir la màxima puntuació:

No canviava al marcador, ni el nom del que tenia la maxima puntuació en calent ni al posar nom
retallat el nom de 8 a 6 caracters, i tots en majuscula pa que capia en el marcador
ja actualitza be la cadena amb el nom al posar nom per segona vegada en la mateixa partida
This commit is contained in:
2024-11-08 20:49:07 +01:00
parent f9520185a2
commit 6262b5814d
10 changed files with 97 additions and 266 deletions

View File

@@ -184,6 +184,8 @@ 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)
@@ -1224,6 +1226,7 @@ void Game::addScoreToScoreBoard(const std::string &name, int score)
auto manager = std::make_unique<ManageHiScoreTable>(options.game.hi_score_table);
manager->add(entry);
manager->saveToFile(asset_->get("score.bin"));
hi_score_.name = options.game.hi_score_table.front().name;
}
// Saca del estado de GAME OVER al jugador si el otro está activo
@@ -1486,7 +1489,7 @@ void Game::handleNameInput(const std::shared_ptr<Player> &player)
input_->checkInput(InputType::FIRE_CENTER, INPUT_DO_NOT_ALLOW_REPEAT, options.controllers[controllerIndex].type, options.controllers[controllerIndex].index) ||
input_->checkInput(InputType::FIRE_RIGHT, INPUT_DO_NOT_ALLOW_REPEAT, options.controllers[controllerIndex].type, options.controllers[controllerIndex].index))
{
if (player->getRecordNamePos() == 7)
if (player->getRecordNamePos() == NAME_LENGHT - 1)
{
player->setInput(InputType::START);
addScoreToScoreBoard(player->getRecordName(), player->getScore());
@@ -1510,12 +1513,6 @@ void Game::handleNameInput(const std::shared_ptr<Player> &player)
{
player->setInput(InputType::LEFT);
}
/*
else if (input_->checkInput(InputType::RIGHT, INPUT_DO_NOT_ALLOW_REPEAT, options.controller[controllerIndex].device_type, options.controller[controllerIndex].index))
{
player->setInput(InputType::RIGHT);
}
*/
else if (input_->checkInput(InputType::START, INPUT_DO_NOT_ALLOW_REPEAT, options.controllers[controllerIndex].type, options.controllers[controllerIndex].index))
{
player->setInput(InputType::START);