From 49cffb366936e91796b0fd2ec9e9cf563b5ed776 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Tue, 27 Aug 2024 08:48:04 +0200 Subject: [PATCH] =?UTF-8?q?Cambiado=20el=20modo=20de=20funcionamiento=20de?= =?UTF-8?q?=20la=20pausa=20durante=20el=20juego=20para=20permitir=20que=20?= =?UTF-8?q?ciertos=20m=C3=A9todos=20se=20sigan=20ejecutando?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/game.cpp | 127 +++++++++++++++++++++++------------------------- 1 file changed, 62 insertions(+), 65 deletions(-) diff --git a/source/game.cpp b/source/game.cpp index 8549c8c..283976c 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -1792,11 +1792,6 @@ void Game::updateEnemyDeployCounter() // Actualiza el juego void Game::update() { - if (paused) - { - return; - } - // Comprueba que la diferencia de ticks sea mayor a la velocidad del juego if (SDL_GetTicks() - ticks > ticksSpeed) { @@ -1853,6 +1848,67 @@ void Game::update() increaseStageCurrentPower(1); } #endif + if (!paused) + { + // Actualiza el objeto fade + fade->update(); + + // Actualiza las variables del jugador + updatePlayers(); + + // Actualiza el marcador + checkPlayersStatusPlaying(); + updateScoreboard(); + + // Actualiza el fondo + updateBackground(); + + // Mueve los globos + updateBalloons(); + + // Actualiza el objeto encargado de las explosiones + explosions->update(); + + // Mueve las balas + moveBullets(); + + // Actualiza los items + updateItems(); + + // Comprueba si hay cambio de fase y actualiza las variables + updateStage(); + + // Actualiza el estado de muerte + updateGameOver(); + + // Actualiza los SmartSprites + updateSmartSprites(); + + // Actualiza los contadores de estado y efectos + updateTimeStoppedCounter(); + updateEnemyDeployCounter(); + + // Actualiza el ayudante + updateHelper(); + + // Comprueba las colisiones entre globos y balas + checkBulletBalloonCollision(); + + // Comprueba el nivel de amenaza para ver si se han de crear nuevos enemigos + updateMenace(); + + // Actualiza la velocidad de los enemigos + updateBalloonSpeed(); + + // Actualiza el tramo final de juego, una vez completado + updateGameCompleted(); + + // Vacia los vectores + freeBullets(); + freeBalloons(); + freeItems(); + freeSmartSprites(); + } // Comprueba si la música ha de estar sonando checkMusicStatus(); @@ -1860,65 +1916,6 @@ void Game::update() // Actualiza el objeto screen screen->update(); - // Actualiza el objeto fade - fade->update(); - - // Actualiza las variables del jugador - updatePlayers(); - - // Actualiza el marcador - checkPlayersStatusPlaying(); - updateScoreboard(); - - // Actualiza el fondo - updateBackground(); - - // Mueve los globos - updateBalloons(); - - // Actualiza el objeto encargado de las explosiones - explosions->update(); - - // Mueve las balas - moveBullets(); - - // Actualiza los items - updateItems(); - - // Comprueba si hay cambio de fase y actualiza las variables - updateStage(); - - // Actualiza el estado de muerte - updateGameOver(); - - // Actualiza los SmartSprites - updateSmartSprites(); - - // Actualiza los contadores de estado y efectos - updateTimeStoppedCounter(); - updateEnemyDeployCounter(); - - // Actualiza el ayudante - updateHelper(); - - // Comprueba las colisiones entre globos y balas - checkBulletBalloonCollision(); - - // Comprueba el nivel de amenaza para ver si se han de crear nuevos enemigos - updateMenace(); - - // Actualiza la velocidad de los enemigos - updateBalloonSpeed(); - - // Actualiza el tramo final de juego, una vez completado - updateGameCompleted(); - - // Vacia los vectores - freeBullets(); - freeBalloons(); - freeItems(); - freeSmartSprites(); - // Dibuja los graficos de la zona de juego en la textura fillCanvas(); } @@ -2757,7 +2754,7 @@ void Game::checkPlayersStatusPlaying() { return; } - + for (auto player : players) { switch (player->getStatusPlaying())