Afegides recomanacions de cppcheck

Optimitzada la funció updateBalloonSpeed() i eliminades funcions sobrants o redundants
This commit is contained in:
2024-10-13 11:03:50 +02:00
parent 22d457285d
commit c11a868289
19 changed files with 221 additions and 499 deletions

View File

@@ -206,7 +206,7 @@ void Game::init(int player_id)
counter_ = 0;
last_enemy_deploy_ = 0;
enemy_deploy_counter_ = 0;
enemy_speed_ = default_enemy_speed_;
balloon_speed_ = default_enemy_speed_;
helper_.need_coffee = false;
helper_.need_coffee_machine = false;
helper_.need_power_ball = false;
@@ -558,7 +558,8 @@ void Game::loadMedia()
}
#ifdef VERBOSE
std::cout << "** RESOURCES FOR GAME SECTION LOADED\n" << std::endl;
std::cout << "** RESOURCES FOR GAME SECTION LOADED\n"
<< std::endl;
#endif
}
@@ -742,7 +743,7 @@ void Game::deployEnemyFormation()
stage.enemy_pool->set[set]->init[i].y,
stage.enemy_pool->set[set]->init[i].kind,
stage.enemy_pool->set[set]->init[i].vel_x,
enemy_speed_,
balloon_speed_,
stage.enemy_pool->set[set]->init[i].creation_counter);
}
@@ -850,8 +851,8 @@ void Game::updateStage()
}
JA_PlaySound(stage_change_sound_);
stage_bitmap_counter_ = 0;
enemy_speed_ = default_enemy_speed_;
setBalloonSpeed(enemy_speed_);
balloon_speed_ = default_enemy_speed_;
setBalloonSpeed(balloon_speed_);
screen_->flash(flash_color, 5);
screen_->shake();
}
@@ -947,7 +948,7 @@ void Game::createPowerBall()
const int x[values] = {left, left, center, center, right, right};
const float vx[values] = {vel_pos, vel_pos, vel_pos, vel_neg, vel_neg, vel_neg};
auto b = std::make_unique<Balloon>(x[luck], posY, POWER_BALL, vx[luck], enemy_speed_, 300, balloon_textures_[4], balloon_animations_[4]);
auto b = std::make_unique<Balloon>(x[luck], posY, POWER_BALL, vx[luck], balloon_speed_, 300, balloon_textures_[4], balloon_animations_[4]);
balloons_.push_back(std::move(b));
power_ball_enabled_ = true;
@@ -966,100 +967,37 @@ void Game::setBalloonSpeed(float speed)
}
}
// Incrementa la velocidad de los globos
void Game::incBalloonSpeed()
{
// La velocidad solo se incrementa en el modo normal
if (difficulty_ == GameDifficulty::NORMAL)
{
if (enemy_speed_ == BALLOON_SPEED_1)
{
enemy_speed_ = BALLOON_SPEED_2;
}
else if (enemy_speed_ == BALLOON_SPEED_2)
{
enemy_speed_ = BALLOON_SPEED_3;
}
else if (enemy_speed_ == BALLOON_SPEED_3)
{
enemy_speed_ = BALLOON_SPEED_4;
}
else if (enemy_speed_ == BALLOON_SPEED_4)
{
enemy_speed_ = BALLOON_SPEED_5;
}
setBalloonSpeed(enemy_speed_);
}
}
// Decrementa la velocidad de los globos
void Game::decBalloonSpeed()
{
// La velocidad solo se decrementa en el modo normal
if (difficulty_ == GameDifficulty::NORMAL)
{
if (enemy_speed_ == BALLOON_SPEED_5)
{
enemy_speed_ = BALLOON_SPEED_4;
}
else if (enemy_speed_ == BALLOON_SPEED_4)
{
enemy_speed_ = BALLOON_SPEED_3;
}
else if (enemy_speed_ == BALLOON_SPEED_3)
{
enemy_speed_ = BALLOON_SPEED_2;
}
else if (enemy_speed_ == BALLOON_SPEED_2)
{
enemy_speed_ = BALLOON_SPEED_1;
}
setBalloonSpeed(enemy_speed_);
}
}
// Actualiza la velocidad de los globos en funcion del poder acumulado de la fase
void Game::updateBalloonSpeed()
{
const float percent = (float)current_power_ / (float)enemy_formations_->getStage(current_stage_).power_to_complete;
if (enemy_speed_ == BALLOON_SPEED_1)
float old_balloon_speed = balloon_speed_;
// Comprueba si se ha de modificar la velocidad de los globos
if (balloon_speed_ == BALLOON_SPEED_1 && percent > 0.2f)
{
if (percent > 0.2f)
{
incBalloonSpeed();
}
balloon_speed_ = BALLOON_SPEED_2;
}
else if (enemy_speed_ == BALLOON_SPEED_2)
else if (balloon_speed_ == BALLOON_SPEED_2 && percent > 0.4f)
{
if (percent > 0.4f)
{
incBalloonSpeed();
}
balloon_speed_ = BALLOON_SPEED_3;
}
else if (enemy_speed_ == BALLOON_SPEED_3)
else if (balloon_speed_ == BALLOON_SPEED_3 && percent > 0.6f)
{
if (percent > 0.6f)
{
incBalloonSpeed();
}
balloon_speed_ = BALLOON_SPEED_4;
}
else if (enemy_speed_ == BALLOON_SPEED_4)
else if (balloon_speed_ == BALLOON_SPEED_4 && percent > 0.8f)
{
if (percent > 0.8f)
{
incBalloonSpeed();
}
balloon_speed_ = BALLOON_SPEED_5;
}
// Si ha habido cambio, se aplica a todos los globos
if (old_balloon_speed != balloon_speed_)
{
setBalloonSpeed(balloon_speed_);
}
}
@@ -1087,11 +1025,11 @@ void Game::popBalloon(std::shared_ptr<Balloon> balloon)
}
else
{ // En cualquier otro caso, crea dos globos de un tipo inferior
auto balloon_left = createBalloon(0, balloon->getPosY(), balloon->getKind() - 1, BALLOON_VELX_NEGATIVE, enemy_speed_, 0);
auto balloon_left = createBalloon(0, balloon->getPosY(), balloon->getKind() - 1, BALLOON_VELX_NEGATIVE, balloon_speed_, 0);
balloon_left->allignTo(balloon->getPosX() + (balloon->getWidth() / 2));
balloon_left->setVelY(balloon_left->getClass() == BALLOON_CLASS ? -2.50f : BALLOON_VELX_NEGATIVE);
auto balloon_right = createBalloon(0, balloon->getPosY(), balloon->getKind() - 1, BALLOON_VELX_POSITIVE, enemy_speed_, 0);
auto balloon_right = createBalloon(0, balloon->getPosY(), balloon->getKind() - 1, BALLOON_VELX_POSITIVE, balloon_speed_, 0);
balloon_right->allignTo(balloon->getPosX() + (balloon->getWidth() / 2));
balloon_right->setVelY(balloon_right->getClass() == BALLOON_CLASS ? -2.50f : BALLOON_VELX_NEGATIVE);
@@ -1646,7 +1584,7 @@ void Game::killPlayer(std::shared_ptr<Player> &player)
// Si tiene cafes
if (player->hasExtraHit())
{
{
// Lo pierde
player->removeExtraHit();
throwCoffee(player->getPosX() + (player->getWidth() / 2), player->getPosY() + (player->getHeight() / 2));
@@ -1654,7 +1592,7 @@ void Game::killPlayer(std::shared_ptr<Player> &player)
screen_->shake();
}
else
{
{
// Si no tiene cafes, muere
if (!demo_.enabled)
{
@@ -1666,7 +1604,7 @@ void Game::killPlayer(std::shared_ptr<Player> &player)
JA_PlaySound(coffee_out_sound_);
player->setStatusPlaying(PlayerStatus::DYING);
if (!demo_.enabled)
{
{
// En el modo DEMO ni se para la musica ni se añade la puntuación a la tabla
allPlayersAreNotPlaying() ? JA_StopMusic() : JA_ResumeMusic();
}
@@ -1851,7 +1789,10 @@ void Game::update()
updateMenace();
// Actualiza la velocidad de los enemigos
updateBalloonSpeed();
if (difficulty_ == GameDifficulty::NORMAL)
{
updateBalloonSpeed();
}
// Actualiza el tramo final de juego, una vez completado
updateGameCompleted();
@@ -2370,7 +2311,7 @@ void Game::initPaths()
// Letrero de STAGE #
constexpr auto first_part = STAGE_COUNTER / 4; // 50
constexpr auto second_part = first_part * 3; // 150
constexpr auto second_part = first_part * 3; // 150
const auto center_point = param.game.play_area.center_y - (BLOCK * 2);
const auto distance = (param.game.play_area.rect.h) - (param.game.play_area.center_y - 16);
@@ -2418,7 +2359,7 @@ void Game::initPaths()
get_ready_bitmap_path_[i] = (int)finish1;
}
else if (i< STAGE_COUNTER)
else if (i < STAGE_COUNTER)
{
get_ready_bitmap_path_[i] = sin[(int)((i - second_part) * 1.8f)];
get_ready_bitmap_path_[i] *= distance2;
@@ -2563,7 +2504,7 @@ void Game::checkEvents()
stage.enemy_pool->set[set]->init[i].y,
stage.enemy_pool->set[set]->init[i].kind,
stage.enemy_pool->set[set]->init[i].vel_x,
enemy_speed_,
balloon_speed_,
stage.enemy_pool->set[set]->init[i].creation_counter);
}
}