clang-tidy readability-function-cognitive-complexity
clang-format
This commit is contained in:
120
source/item.h
120
source/item.h
@@ -27,78 +27,78 @@ enum class ItemType : int {
|
||||
// Clase Item.
|
||||
// Representa un objeto en el juego, con sus propiedades y métodos para gestionar su comportamiento.
|
||||
class Item {
|
||||
public:
|
||||
// Constantes
|
||||
static constexpr int COFFEE_MACHINE_WIDTH = 30;
|
||||
static constexpr int COFFEE_MACHINE_HEIGHT = 39;
|
||||
public:
|
||||
// Constantes
|
||||
static constexpr int COFFEE_MACHINE_WIDTH = 30;
|
||||
static constexpr int COFFEE_MACHINE_HEIGHT = 39;
|
||||
|
||||
// Constructor. Inicializa un objeto Item con el tipo, posición, área de juego, textura y animación.
|
||||
Item(ItemType type, float x, float y, SDL_FRect &play_area, std::shared_ptr<Texture> texture, const std::vector<std::string> &animation);
|
||||
// Constructor. Inicializa un objeto Item con el tipo, posición, área de juego, textura y animación.
|
||||
Item(ItemType type, float x, float y, SDL_FRect &play_area, std::shared_ptr<Texture> texture, const std::vector<std::string> &animation);
|
||||
|
||||
// Destructor.
|
||||
~Item() = default;
|
||||
// Destructor.
|
||||
~Item() = default;
|
||||
|
||||
// Centra el objeto en la posición X indicada, asegurando que no se salga del área de juego.
|
||||
void alignTo(int x);
|
||||
// Centra el objeto en la posición X indicada, asegurando que no se salga del área de juego.
|
||||
void alignTo(int x);
|
||||
|
||||
// Renderiza el objeto en pantalla si está habilitado.
|
||||
// Si el tiempo de vida es mayor que 200, renderiza el sprite.
|
||||
// Si es menor o igual a 200, renderiza el sprite de forma intermitente.
|
||||
void render();
|
||||
// Renderiza el objeto en pantalla si está habilitado.
|
||||
// Si el tiempo de vida es mayor que 200, renderiza el sprite.
|
||||
// Si es menor o igual a 200, renderiza el sprite de forma intermitente.
|
||||
void render();
|
||||
|
||||
// Desactiva el objeto estableciendo su estado enabled_ a false.
|
||||
void disable();
|
||||
// Desactiva el objeto estableciendo su estado enabled_ a false.
|
||||
void disable();
|
||||
|
||||
// Actualiza la posición, animación y contadores del objeto.
|
||||
// Llama a move(), sprite_->update() y updateTimeToLive().
|
||||
void update();
|
||||
// Actualiza la posición, animación y contadores del objeto.
|
||||
// Llama a move(), sprite_->update() y updateTimeToLive().
|
||||
void update();
|
||||
|
||||
// Getters
|
||||
[[nodiscard]] auto getPosX() const -> float { return pos_x_; }
|
||||
[[nodiscard]] auto getPosY() const -> float { return pos_y_; }
|
||||
[[nodiscard]] auto getWidth() const -> int { return width_; }
|
||||
[[nodiscard]] auto getHeight() const -> int { return height_; }
|
||||
[[nodiscard]] auto getType() const -> ItemType { return type_; }
|
||||
[[nodiscard]] auto isEnabled() const -> bool { return enabled_; }
|
||||
[[nodiscard]] auto isOnFloor() const -> bool { return floor_collision_; }
|
||||
auto getCollider() -> Circle & { return collider_; }
|
||||
// Getters
|
||||
[[nodiscard]] auto getPosX() const -> float { return pos_x_; }
|
||||
[[nodiscard]] auto getPosY() const -> float { return pos_y_; }
|
||||
[[nodiscard]] auto getWidth() const -> int { return width_; }
|
||||
[[nodiscard]] auto getHeight() const -> int { return height_; }
|
||||
[[nodiscard]] auto getType() const -> ItemType { return type_; }
|
||||
[[nodiscard]] auto isEnabled() const -> bool { return enabled_; }
|
||||
[[nodiscard]] auto isOnFloor() const -> bool { return floor_collision_; }
|
||||
auto getCollider() -> Circle & { return collider_; }
|
||||
|
||||
private:
|
||||
// Objetos y punteros
|
||||
std::unique_ptr<AnimatedSprite> sprite_; // Sprite con los gráficos del objeto
|
||||
private:
|
||||
// Objetos y punteros
|
||||
std::unique_ptr<AnimatedSprite> sprite_; // Sprite con los gráficos del objeto
|
||||
|
||||
// Variables de estado y físicas
|
||||
float pos_x_; // Posición X del objeto
|
||||
float pos_y_; // Posición Y del objeto
|
||||
int width_; // Ancho del objeto
|
||||
int height_; // Alto del objeto
|
||||
float vel_x_; // Velocidad en el eje X
|
||||
float vel_y_; // Velocidad en el eje Y
|
||||
float accel_x_ = 0.0F; // Aceleración en el eje X
|
||||
float accel_y_; // Aceleración en el eje Y
|
||||
bool floor_collision_ = false; // Indica si el objeto colisiona con el suelo
|
||||
ItemType type_; // Tipo de objeto
|
||||
bool enabled_ = true; // Indica si el objeto está habilitado
|
||||
Circle collider_; // Círculo de colisión del objeto
|
||||
SDL_FRect play_area_; // Rectángulo con la zona de juego
|
||||
Uint16 time_to_live_ = 600; // Tiempo que el objeto está presente
|
||||
// Variables de estado y físicas
|
||||
float pos_x_; // Posición X del objeto
|
||||
float pos_y_; // Posición Y del objeto
|
||||
int width_; // Ancho del objeto
|
||||
int height_; // Alto del objeto
|
||||
float vel_x_; // Velocidad en el eje X
|
||||
float vel_y_; // Velocidad en el eje Y
|
||||
float accel_x_ = 0.0F; // Aceleración en el eje X
|
||||
float accel_y_; // Aceleración en el eje Y
|
||||
bool floor_collision_ = false; // Indica si el objeto colisiona con el suelo
|
||||
ItemType type_; // Tipo de objeto
|
||||
bool enabled_ = true; // Indica si el objeto está habilitado
|
||||
Circle collider_; // Círculo de colisión del objeto
|
||||
SDL_FRect play_area_; // Rectángulo con la zona de juego
|
||||
Uint16 time_to_live_ = 600; // Tiempo que el objeto está presente
|
||||
|
||||
// Alinea el círculo de colisión con la posición del objeto.
|
||||
// Actualiza las coordenadas X e Y del colisionador.
|
||||
void shiftColliders();
|
||||
// Alinea el círculo de colisión con la posición del objeto.
|
||||
// Actualiza las coordenadas X e Y del colisionador.
|
||||
void shiftColliders();
|
||||
|
||||
// Coloca el sprite en la posición del objeto.
|
||||
// Actualiza las coordenadas X e Y del sprite.
|
||||
void shiftSprite();
|
||||
// Coloca el sprite en la posición del objeto.
|
||||
// Actualiza las coordenadas X e Y del sprite.
|
||||
void shiftSprite();
|
||||
|
||||
// Actualiza la posición y estados del objeto.
|
||||
// Controla las colisiones con los límites del área de juego y actualiza sprite y colisionador.
|
||||
void move();
|
||||
// Actualiza la posición y estados del objeto.
|
||||
// Controla las colisiones con los límites del área de juego y actualiza sprite y colisionador.
|
||||
void move();
|
||||
|
||||
// Actualiza el contador de tiempo de vida del objeto.
|
||||
// Si el tiempo de vida es mayor a 0, lo decrementa. Si llega a 0, desactiva el objeto.
|
||||
void updateTimeToLive();
|
||||
// Actualiza el contador de tiempo de vida del objeto.
|
||||
// Si el tiempo de vida es mayor a 0, lo decrementa. Si llega a 0, desactiva el objeto.
|
||||
void updateTimeToLive();
|
||||
|
||||
// Calcula la zona de aparición de la máquina de café
|
||||
static auto getCoffeeMachineSpawn(int player_x, int item_width, int area_width, int margin = 2) -> int;
|
||||
// Calcula la zona de aparición de la máquina de café
|
||||
static auto getCoffeeMachineSpawn(int player_x, int item_width, int area_width, int margin = 2) -> int;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user