From 79b29171124a862fcad3954a7e80adbabe7a3271 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Valor=20Mart=C3=ADnez?= Date: Mon, 10 Mar 2025 20:13:38 +0100 Subject: [PATCH] =?UTF-8?q?Pots=20pasar=20quan=20mostra=20el=20nom=20que?= =?UTF-8?q?=20has=20introdiut=20apretant=20qualsevol=20bot=C3=B3=20de=20di?= =?UTF-8?q?sparar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/director.cpp | 2 ++ source/game.cpp | 8 ++++++-- source/player.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/source/director.cpp b/source/director.cpp index 5e78936..7cd2cf2 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -555,7 +555,9 @@ void Director::setFileList() // Si falta algun fichero, sale del programa if (!Asset::get()->check()) + { throw std::runtime_error("Falta algun fichero"); + } } // Comprueba los parametros del programa diff --git a/source/game.cpp b/source/game.cpp index bd95f7d..9433b94 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -1555,7 +1555,7 @@ void Game::handlePlayersInput() // Gestiona la continuación del jugador. handlePlayerContinue(player); } - else if (player->isEnteringName() || player->isEnteringNameGameCompleted()) + else if (player->isEnteringName() || player->isEnteringNameGameCompleted() || player->isShowingName()) { // Gestiona la introducción del nombre del jugador. handleNameInput(player); @@ -1650,7 +1650,11 @@ void Game::handleNameInput(const std::shared_ptr &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->getEnterNamePositionOverflow()) + if (player->isShowingName()) + { + player->setPlayingState(PlayerState::CONTINUE); + } + else if (player->getEnterNamePositionOverflow()) { player->setInput(InputType::START); addScoreToScoreBoard(player); diff --git a/source/player.h b/source/player.h index 7d92dce..0a28e96 100644 --- a/source/player.h +++ b/source/player.h @@ -208,6 +208,7 @@ public: bool isContinue() const { return playing_state_ == PlayerState::CONTINUE; } bool isDying() const { return playing_state_ == PlayerState::DYING; } bool isEnteringName() const { return playing_state_ == PlayerState::ENTERING_NAME; } + bool isShowingName() const { return playing_state_ == PlayerState::SHOWING_NAME; } bool isEnteringNameGameCompleted() const { return playing_state_ == PlayerState::ENTERING_NAME_GAME_COMPLETED; } bool isLeavingScreen() const { return playing_state_ == PlayerState::LEAVING_SCREEN; } bool isGameOver() const { return playing_state_ == PlayerState::GAME_OVER; }