clang-tidy modernize
This commit is contained in:
104
source/tabe.cpp
104
source/tabe.cpp
@@ -4,6 +4,7 @@
|
||||
#include <SDL3/SDL.h> // Para SDL_FlipMode, SDL_GetTicks
|
||||
|
||||
#include <algorithm> // Para max
|
||||
#include <array>
|
||||
#include <cmath> // Para abs
|
||||
#include <cstdlib> // Para rand, abs
|
||||
#include <string> // Para basic_string
|
||||
@@ -25,7 +26,7 @@ void Tabe::update() {
|
||||
move();
|
||||
updateState();
|
||||
}
|
||||
|
||||
|
||||
timer_.update();
|
||||
if (timer_.shouldSpawn()) {
|
||||
enable();
|
||||
@@ -41,49 +42,62 @@ void Tabe::render() {
|
||||
|
||||
// Mueve el objeto
|
||||
void Tabe::move() {
|
||||
const int X = static_cast<int>(x_);
|
||||
speed_ += accel_;
|
||||
x_ += speed_;
|
||||
fly_distance_ -= std::abs(X - static_cast<int>(x_));
|
||||
const int X = static_cast<int>(x_);
|
||||
speed_ += accel_;
|
||||
x_ += speed_;
|
||||
fly_distance_ -= std::abs(X - static_cast<int>(x_));
|
||||
|
||||
// Comprueba si sale por los bordes
|
||||
const float MIN_X = param.game.game_area.rect.x - WIDTH;
|
||||
const float MAX_X = param.game.game_area.rect.x + param.game.game_area.rect.w;
|
||||
switch (destiny_) {
|
||||
case TabeDirection::TO_THE_LEFT: {
|
||||
if (x_ < MIN_X) {
|
||||
disable();
|
||||
}
|
||||
if (x_ > param.game.game_area.rect.x + param.game.game_area.rect.w - WIDTH && direction_ == TabeDirection::TO_THE_RIGHT) {
|
||||
setRandomFlyPath(TabeDirection::TO_THE_LEFT, 80);
|
||||
x_ = param.game.game_area.rect.x + param.game.game_area.rect.w - WIDTH;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Comprueba si sale por los bordes
|
||||
const float MIN_X = param.game.game_area.rect.x - WIDTH;
|
||||
const float MAX_X = param.game.game_area.rect.x + param.game.game_area.rect.w;
|
||||
switch (destiny_) {
|
||||
case TabeDirection::TO_THE_LEFT: {
|
||||
if (x_ < MIN_X) {
|
||||
disable();
|
||||
}
|
||||
if (x_ > param.game.game_area.rect.x + param.game.game_area.rect.w - WIDTH && direction_ == TabeDirection::TO_THE_RIGHT) {
|
||||
setRandomFlyPath(TabeDirection::TO_THE_LEFT, 80);
|
||||
x_ = param.game.game_area.rect.x + param.game.game_area.rect.w - WIDTH;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case TabeDirection::TO_THE_RIGHT: {
|
||||
if (x_ > MAX_X) {
|
||||
disable();
|
||||
}
|
||||
if (x_ < param.game.game_area.rect.x && direction_ == TabeDirection::TO_THE_LEFT) {
|
||||
setRandomFlyPath(TabeDirection::TO_THE_RIGHT, 80);
|
||||
x_ = param.game.game_area.rect.x;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
case TabeDirection::TO_THE_RIGHT: {
|
||||
if (x_ > MAX_X) {
|
||||
disable();
|
||||
}
|
||||
if (x_ < param.game.game_area.rect.x && direction_ == TabeDirection::TO_THE_LEFT) {
|
||||
setRandomFlyPath(TabeDirection::TO_THE_RIGHT, 80);
|
||||
x_ = param.game.game_area.rect.x;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (fly_distance_ <= 0) {
|
||||
if (waiting_counter_ > 0) {
|
||||
accel_ = speed_ = 0.0F;
|
||||
--waiting_counter_;
|
||||
accel_ = speed_ = 0.0F;
|
||||
--waiting_counter_;
|
||||
} else {
|
||||
constexpr int CHOICES = 4;
|
||||
const TabeDirection LEFT[CHOICES] = {TabeDirection::TO_THE_LEFT, TabeDirection::TO_THE_LEFT, TabeDirection::TO_THE_LEFT, TabeDirection::TO_THE_RIGHT};
|
||||
const TabeDirection RIGHT[CHOICES] = {TabeDirection::TO_THE_LEFT, TabeDirection::TO_THE_RIGHT, TabeDirection::TO_THE_RIGHT, TabeDirection::TO_THE_RIGHT};
|
||||
const TabeDirection DIRECTION = destiny_ == TabeDirection::TO_THE_LEFT ? LEFT[rand() % CHOICES] : RIGHT[rand() % CHOICES];
|
||||
const std::array<TabeDirection, CHOICES> LEFT = {
|
||||
TabeDirection::TO_THE_LEFT,
|
||||
TabeDirection::TO_THE_LEFT,
|
||||
TabeDirection::TO_THE_LEFT,
|
||||
TabeDirection::TO_THE_RIGHT};
|
||||
|
||||
const std::array<TabeDirection, CHOICES> RIGHT = {
|
||||
TabeDirection::TO_THE_LEFT,
|
||||
TabeDirection::TO_THE_RIGHT,
|
||||
TabeDirection::TO_THE_RIGHT,
|
||||
TabeDirection::TO_THE_RIGHT};
|
||||
|
||||
const TabeDirection DIRECTION = destiny_ == TabeDirection::TO_THE_LEFT
|
||||
? LEFT[rand() % CHOICES]
|
||||
: RIGHT[rand() % CHOICES];
|
||||
|
||||
setRandomFlyPath(DIRECTION, 20 + rand() % 40);
|
||||
}
|
||||
}
|
||||
@@ -123,10 +137,10 @@ void Tabe::setRandomFlyPath(TabeDirection direction, int lenght) {
|
||||
|
||||
switch (direction) {
|
||||
case TabeDirection::TO_THE_LEFT: {
|
||||
speed_ = -1.0F * SPEED;
|
||||
accel_ = -1.0F * (1 + rand() % 10) / 30.0F;
|
||||
sprite_->setFlip(SDL_FLIP_NONE);
|
||||
break;
|
||||
speed_ = -1.0F * SPEED;
|
||||
accel_ = -1.0F * (1 + rand() % 10) / 30.0F;
|
||||
sprite_->setFlip(SDL_FLIP_NONE);
|
||||
break;
|
||||
}
|
||||
|
||||
case TabeDirection::TO_THE_RIGHT: {
|
||||
@@ -175,11 +189,11 @@ void Tabe::updateState() {
|
||||
|
||||
// Intenta obtener el bonus
|
||||
auto Tabe::tryToGetBonus() -> bool {
|
||||
if (has_bonus_ && rand() % std::max(1, 15 - number_of_hits_) == 0) {
|
||||
has_bonus_ = false;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
if (has_bonus_ && rand() % std::max(1, 15 - number_of_hits_) == 0) {
|
||||
has_bonus_ = false;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Actualiza el temporizador
|
||||
|
||||
Reference in New Issue
Block a user