Afegides recomanacions de cppcheck
Optimitzada la funció updateBalloonSpeed() i eliminades funcions sobrants o redundants
This commit is contained in:
131
source/game.cpp
131
source/game.cpp
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user