canvi de pc
This commit is contained in:
@@ -44,6 +44,7 @@ Game::Game(int player_id, int current_stage, bool demo)
|
||||
background_(std::make_unique<Background>()),
|
||||
canvas_(SDL_CreateTexture(renderer_, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param.game.play_area.rect.w, param.game.play_area.rect.h)),
|
||||
fade_(std::make_unique<Fade>()),
|
||||
balloon_manager_(std::make_unique<BalloonManager>(*this)),
|
||||
current_stage_(current_stage)
|
||||
{
|
||||
// Pasa variables
|
||||
@@ -171,9 +172,6 @@ void Game::setResources()
|
||||
}
|
||||
}
|
||||
|
||||
// Aumenta el poder de la fase
|
||||
void Game::increaseStageCurrentPower(int power) { current_power_ += power; }
|
||||
|
||||
// Actualiza el valor de hiScore en caso necesario
|
||||
void Game::updateHiScore()
|
||||
{
|
||||
@@ -1781,4 +1779,33 @@ void Game::cleanVectors()
|
||||
freeItems();
|
||||
freeSmartSprites();
|
||||
freePathSprites();
|
||||
}
|
||||
|
||||
// Gestiona el nivel de amenaza
|
||||
void Game::updateMenace()
|
||||
{
|
||||
const auto stage = balloon_formations_->getStage(current_stage_);
|
||||
const float percent = current_power_ / stage.power_to_complete;
|
||||
const int difference = stage.max_menace - stage.min_menace;
|
||||
|
||||
// Aumenta el nivel de amenaza en función de la puntuación
|
||||
menace_threshold_ = stage.min_menace + (difference * percent);
|
||||
|
||||
// Si el nivel de amenza es inferior al umbral
|
||||
if (menace_current_ < menace_threshold_)
|
||||
{
|
||||
// Crea una formación de enemigos
|
||||
balloon_manager_->deployBalloonFormation();
|
||||
|
||||
// Recalcula el nivel de amenaza con el nuevo globo
|
||||
evaluateAndSetMenace();
|
||||
}
|
||||
}
|
||||
|
||||
// Calcula y establece el valor de amenaza en funcion de los globos activos
|
||||
void Game::evaluateAndSetMenace()
|
||||
{
|
||||
menace_current_ = std::accumulate(
|
||||
balloons_.begin(), balloons_.end(), 0, [](int sum, const auto &balloon)
|
||||
{ return sum + (balloon->isEnabled() ? balloon->getMenace() : 0); });
|
||||
}
|
||||
Reference in New Issue
Block a user