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

View File

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