Pasaeta de linters
This commit is contained in:
@@ -2,10 +2,11 @@
|
||||
|
||||
#include <SDL3/SDL.h> // Para Uint8, Uint16, SDL_FRect, Uint32
|
||||
|
||||
#include <array> // Para array
|
||||
#include <memory> // Para allocator, shared_ptr, unique_ptr
|
||||
#include <string> // Para basic_string, string
|
||||
#include <vector> // Para vector
|
||||
#include <array> // Para array
|
||||
#include <memory> // Para allocator, shared_ptr, unique_ptr
|
||||
#include <string> // Para basic_string, string
|
||||
#include <string_view> // Para string_view
|
||||
#include <vector> // Para vector
|
||||
|
||||
#include "animated_sprite.h" // Para AnimatedSprite
|
||||
#include "utils.h" // Para Circle
|
||||
@@ -23,10 +24,10 @@ class Balloon {
|
||||
static constexpr std::array<int, 4> MENACE = {1, 2, 4, 8};
|
||||
static constexpr std::array<int, 5> WIDTH = {10, 16, 26, 48, 49};
|
||||
|
||||
const std::array<std::string, 4> BOUNCING_SOUND = {
|
||||
static constexpr std::array<std::string_view, 4> BOUNCING_SOUND = {
|
||||
"balloon_bounce0.wav", "balloon_bounce1.wav", "balloon_bounce2.wav", "balloon_bounce3.wav"};
|
||||
|
||||
const std::array<std::string, 4> POPPING_SOUND = {
|
||||
static constexpr std::array<std::string_view, 4> POPPING_SOUND = {
|
||||
"balloon_pop0.wav", "balloon_pop1.wav", "balloon_pop2.wav", "balloon_pop3.wav"};
|
||||
|
||||
static constexpr float VELX_POSITIVE = 0.7F;
|
||||
@@ -111,22 +112,22 @@ class Balloon {
|
||||
static constexpr int BOUNCE_FRAMES = 10; // Cantidad de elementos del vector de deformación
|
||||
|
||||
// Tablas de valores predefinidos para el efecto de rebote
|
||||
static constexpr std::array<float, BOUNCE_FRAMES> horizontal_zoom_values = {
|
||||
static constexpr std::array<float, BOUNCE_FRAMES> HORIZONTAL_ZOOM_VALUES = {
|
||||
1.10F, 1.05F, 1.00F, 0.95F, 0.90F, 0.95F, 1.00F, 1.02F, 1.05F, 1.02F};
|
||||
|
||||
static constexpr std::array<float, BOUNCE_FRAMES> vertical_zoom_values = {
|
||||
static constexpr std::array<float, BOUNCE_FRAMES> VERTICAL_ZOOM_VALUES = {
|
||||
0.90F, 0.95F, 1.00F, 1.05F, 1.10F, 1.05F, 1.00F, 0.98F, 0.95F, 0.98F};
|
||||
|
||||
// Estado del efecto
|
||||
bool enabled = false; // Si el efecto está activo
|
||||
Uint8 counter = 0; // Contador para el efecto
|
||||
Uint8 speed = 2; // Velocidad del efecto
|
||||
bool enabled_ = false; // Si el efecto está activo
|
||||
Uint8 counter_ = 0; // Contador para el efecto
|
||||
Uint8 speed_ = 2; // Velocidad del efecto
|
||||
|
||||
// Valores actuales de transformación
|
||||
float horizontal_zoom = 1.0F; // Zoom en anchura
|
||||
float verical_zoom = 1.0F; // Zoom en altura
|
||||
float x_offset = 0.0F; // Desplazamiento X antes de pintar
|
||||
float y_offset = 0.0F; // Desplazamiento Y antes de pintar
|
||||
float horizontal_zoom_ = 1.0F; // Zoom en anchura
|
||||
float verical_zoom_ = 1.0F; // Zoom en altura
|
||||
float x_offset_ = 0.0F; // Desplazamiento X antes de pintar
|
||||
float y_offset_ = 0.0F; // Desplazamiento Y antes de pintar
|
||||
|
||||
public:
|
||||
// Constructor por defecto
|
||||
@@ -134,18 +135,18 @@ class Balloon {
|
||||
|
||||
// Reinicia el efecto a sus valores iniciales
|
||||
void reset() {
|
||||
counter = 0;
|
||||
horizontal_zoom = 1.0F;
|
||||
verical_zoom = 1.0F;
|
||||
x_offset = 0.0F;
|
||||
y_offset = 0.0F;
|
||||
counter_ = 0;
|
||||
horizontal_zoom_ = 1.0F;
|
||||
verical_zoom_ = 1.0F;
|
||||
x_offset_ = 0.0F;
|
||||
y_offset_ = 0.0F;
|
||||
}
|
||||
|
||||
// Aplica la deformación visual al sprite
|
||||
void apply(AnimatedSprite* sprite) {
|
||||
if (sprite) {
|
||||
sprite->setHorizontalZoom(horizontal_zoom);
|
||||
sprite->setVerticalZoom(verical_zoom);
|
||||
void apply(AnimatedSprite* sprite) const {
|
||||
if (sprite != nullptr) {
|
||||
sprite->setHorizontalZoom(horizontal_zoom_);
|
||||
sprite->setVerticalZoom(verical_zoom_);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,46 +156,46 @@ class Balloon {
|
||||
if (balloon_size == Size::SMALL) {
|
||||
return;
|
||||
}
|
||||
enabled = true;
|
||||
enabled_ = true;
|
||||
reset();
|
||||
apply(sprite);
|
||||
}
|
||||
|
||||
// Detiene el efecto de rebote
|
||||
void disable(AnimatedSprite* sprite) {
|
||||
enabled = false;
|
||||
enabled_ = false;
|
||||
reset();
|
||||
apply(sprite);
|
||||
}
|
||||
|
||||
// Actualiza el efecto en cada frame
|
||||
void update(AnimatedSprite* sprite) {
|
||||
if (!enabled) {
|
||||
if (!enabled_) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Calcula el índice basado en el contador y velocidad
|
||||
const int INDEX = counter / speed;
|
||||
const int INDEX = counter_ / speed_;
|
||||
|
||||
// Actualiza los valores de zoom desde las tablas predefinidas
|
||||
horizontal_zoom = horizontal_zoom_values.at(INDEX);
|
||||
verical_zoom = vertical_zoom_values.at(INDEX);
|
||||
horizontal_zoom_ = HORIZONTAL_ZOOM_VALUES.at(INDEX);
|
||||
verical_zoom_ = VERTICAL_ZOOM_VALUES.at(INDEX);
|
||||
|
||||
// Aplica la deformación al sprite
|
||||
apply(sprite);
|
||||
|
||||
// Incrementa el contador y verifica si el efecto debe terminar
|
||||
if (++counter / speed >= BOUNCE_FRAMES) {
|
||||
if (++counter_ / speed_ >= BOUNCE_FRAMES) {
|
||||
disable(sprite);
|
||||
}
|
||||
}
|
||||
|
||||
// Getters para acceso a los valores actuales
|
||||
bool isEnabled() const { return enabled; }
|
||||
float getHorizontalZoom() const { return horizontal_zoom; }
|
||||
float getVerticalZoom() const { return verical_zoom; }
|
||||
float GetXOffset() const { return x_offset; }
|
||||
float GetYOffset() const { return y_offset; }
|
||||
[[nodiscard]] auto isEnabled() const -> bool { return enabled_; }
|
||||
[[nodiscard]] auto getHorizontalZoom() const -> float { return horizontal_zoom_; }
|
||||
[[nodiscard]] auto getVerticalZoom() const -> float { return verical_zoom_; }
|
||||
[[nodiscard]] auto getXOffset() const -> float { return x_offset_; }
|
||||
[[nodiscard]] auto getYOffset() const -> float { return y_offset_; }
|
||||
};
|
||||
|
||||
// --- Objetos y punteros ---
|
||||
|
||||
Reference in New Issue
Block a user