Game end completed

This commit is contained in:
2021-05-21 21:08:43 +02:00
parent 0c0b677474
commit 90812f2140
2 changed files with 21 additions and 11 deletions

View File

@@ -289,7 +289,7 @@ void Game::init()
initGameStages(); initGameStages();
// Modo debug // Modo debug
mDebug.enabled = true; mDebug.enabled = false;
mDebug.enemySet = 0; mDebug.enemySet = 0;
mDebug.gradR = mDebug.gradG = mDebug.gradB = 0; mDebug.gradR = mDebug.gradG = mDebug.gradB = 0;
@@ -1348,7 +1348,7 @@ void Game::initGameStages()
// STAGE 10 // STAGE 10
mStage[9].number = 10; mStage[9].number = 10;
mStage[9].currentPower = 900; mStage[9].currentPower = 940;
mStage[9].powerToComplete = 950; mStage[9].powerToComplete = 950;
mStage[9].minMenace = 7 + (4 * 9); mStage[9].minMenace = 7 + (4 * 9);
mStage[9].maxMenace = 7 + (4 * 15); mStage[9].maxMenace = 7 + (4 * 15);
@@ -1644,14 +1644,16 @@ void Game::updateDeath()
} }
// Renderiza el fade final cuando se acaba la partida // Renderiza el fade final cuando se acaba la partida
void Game::renderDeathFade(bool trigger, int counter) void Game::renderDeathFade(int counter)
// Counter debe ir de 0 a 150
{ {
if ((trigger) && (counter < 150)) SDL_SetRenderDrawColor(mRenderer, 0x27, 0x27, 0x36, 255);
if (counter < 150)
{ {
// 192 / 6 = 32, 6 cuadrados de 32 pixeles // 192 / 6 = 32, 6 cuadrados de 32 pixeles
SDL_Rect rect[12]; SDL_Rect rect[12];
Uint8 h = counter / 3; Uint8 h = counter / 3;
SDL_SetRenderDrawColor(mRenderer, 0x27, 0x27, 0x36, 255);
for (int i = 0; i < 12; i++) for (int i = 0; i < 12; i++)
{ {
rect[i].x = 0; rect[i].x = 0;
@@ -1664,6 +1666,11 @@ void Game::renderDeathFade(bool trigger, int counter)
SDL_RenderFillRect(mRenderer, &rect[i]); SDL_RenderFillRect(mRenderer, &rect[i]);
} }
} }
else
{
SDL_Rect rect = {0, 0, SCREEN_WIDTH, SCREEN_HEIGHT};
SDL_RenderFillRect(mRenderer, &rect);
}
} }
// Actualiza los globos // Actualiza los globos
@@ -2517,12 +2524,15 @@ void Game::renderPlayField()
renderBackground(); renderBackground();
renderBalloons(); renderBalloons();
renderBullets(); renderBullets();
renderMessages();
renderItems(); renderItems();
renderSmartSprites(); renderSmartSprites();
mPlayer->render();
renderMessages();
renderDeathFade(!mPlayer->isAlive(), 150 - mDeathCounter);
renderScoreBoard(); renderScoreBoard();
mPlayer->render();
if ((mDeathCounter <= 150) && !mPlayer->isAlive())
renderDeathFade(150 - mDeathCounter);
if ((mGameCompleted) && (mGameCompletedCounter >= 300))
renderDeathFade(mGameCompletedCounter - 300);
renderFlashEffect(); renderFlashEffect();
} }
@@ -3182,6 +3192,6 @@ void Game::updateGameCompleted()
if (mGameCompleted) if (mGameCompleted)
mGameCompletedCounter++; mGameCompletedCounter++;
if (mGameCompletedCounter >= 300) if (mGameCompletedCounter == 500)
renderDeathFade(mGameCompleted, 300 - mGameCompletedCounter); mSection.subsection = GAME_SECTION_GAMEOVER;
} }

View File

@@ -250,7 +250,7 @@ public:
void updateDeath(); void updateDeath();
// Renderiza el fade final cuando se acaba la partida // Renderiza el fade final cuando se acaba la partida
void renderDeathFade(bool trigger, int counter); void renderDeathFade(int counter);
// Actualiza los globos // Actualiza los globos
void updateBalloons(); void updateBalloons();