style: aplicar todos los checks readability-* (225 fixes)
Cambios aplicados: - readability-braces-around-statements (añadir llaves en ifs/fors) - readability-implicit-bool-conversion (puntero → bool explícito) - readability-container-size-empty (.empty() en lugar de .size()==0) - readability-container-contains (.contains() C++20) - readability-make-member-function-const (métodos const) - readability-else-after-return (5 casos adicionales) - Añadido #include <cmath> en defaults.hpp Checks excluidos (justificados): - identifier-naming: Cascada de 300+ cambios - identifier-length: Nombres cortos son OK en este proyecto - magic-numbers: Demasiados falsos positivos - convert-member-functions-to-static: Rompe encapsulación - use-anyofallof: C++20 ranges no universal - function-cognitive-complexity: Complejidad aceptable - clang-analyzer-security.insecureAPI.rand: rand() suficiente para juegos
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "game/entities/enemic.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
@@ -37,7 +38,8 @@ void Enemic::inicialitzar(TipusEnemic tipus, const Punt* ship_pos) {
|
||||
|
||||
// Carregar forma segons el tipus
|
||||
const char* shape_file;
|
||||
float drotacio_min, drotacio_max;
|
||||
float drotacio_min;
|
||||
float drotacio_max;
|
||||
|
||||
switch (tipus_) {
|
||||
case TipusEnemic::PENTAGON:
|
||||
@@ -70,7 +72,10 @@ void Enemic::inicialitzar(TipusEnemic tipus, const Punt* ship_pos) {
|
||||
}
|
||||
|
||||
// [MODIFIED] Posició aleatòria amb comprovació de seguretat
|
||||
float min_x, max_x, min_y, max_y;
|
||||
float min_x;
|
||||
float max_x;
|
||||
float min_y;
|
||||
float max_y;
|
||||
Constants::obtenir_limits_zona_segurs(Defaults::Entities::ENEMY_RADIUS,
|
||||
min_x,
|
||||
max_x,
|
||||
@@ -82,7 +87,8 @@ void Enemic::inicialitzar(TipusEnemic tipus, const Punt* ship_pos) {
|
||||
bool found_safe_position = false;
|
||||
|
||||
for (int attempt = 0; attempt < Defaults::Enemies::Spawn::MAX_SPAWN_ATTEMPTS; attempt++) {
|
||||
float candidate_x, candidate_y;
|
||||
float candidate_x;
|
||||
float candidate_y;
|
||||
|
||||
if (intent_spawn_safe(*ship_pos, candidate_x, candidate_y)) {
|
||||
centre_.x = candidate_x;
|
||||
@@ -138,9 +144,7 @@ void Enemic::actualitzar(float delta_time) {
|
||||
if (timer_invulnerabilitat_ > 0.0F) {
|
||||
timer_invulnerabilitat_ -= delta_time;
|
||||
|
||||
if (timer_invulnerabilitat_ < 0.0F) {
|
||||
timer_invulnerabilitat_ = 0.0F;
|
||||
}
|
||||
timer_invulnerabilitat_ = std::max(timer_invulnerabilitat_, 0.0F);
|
||||
|
||||
// [NEW] Update brightness with LERP during invulnerability
|
||||
float t_inv = timer_invulnerabilitat_ / Defaults::Enemies::Spawn::INVULNERABILITY_DURATION;
|
||||
@@ -202,7 +206,10 @@ void Enemic::comportament_pentagon(float delta_time) {
|
||||
float new_x = centre_.x + dx;
|
||||
|
||||
// Obtenir límits segurs
|
||||
float min_x, max_x, min_y, max_y;
|
||||
float min_x;
|
||||
float max_x;
|
||||
float min_y;
|
||||
float max_y;
|
||||
Constants::obtenir_limits_zona_segurs(Defaults::Entities::ENEMY_RADIUS,
|
||||
min_x,
|
||||
max_x,
|
||||
@@ -242,7 +249,7 @@ void Enemic::comportament_quadrat(float delta_time) {
|
||||
if (tracking_timer_ >= Defaults::Enemies::Quadrat::TRACKING_INTERVAL) {
|
||||
tracking_timer_ = 0.0F;
|
||||
|
||||
if (ship_position_) {
|
||||
if (ship_position_ != nullptr) {
|
||||
// Calculate angle to ship
|
||||
float dx = ship_position_->x - centre_.x;
|
||||
float dy = ship_position_->y - centre_.y;
|
||||
@@ -252,8 +259,12 @@ void Enemic::comportament_quadrat(float delta_time) {
|
||||
float angle_diff = target_angle - angle_;
|
||||
|
||||
// Normalize angle difference to [-π, π]
|
||||
while (angle_diff > Constants::PI) angle_diff -= 2.0F * Constants::PI;
|
||||
while (angle_diff < -Constants::PI) angle_diff += 2.0F * Constants::PI;
|
||||
while (angle_diff > Constants::PI) {
|
||||
angle_diff -= 2.0F * Constants::PI;
|
||||
}
|
||||
while (angle_diff < -Constants::PI) {
|
||||
angle_diff += 2.0F * Constants::PI;
|
||||
}
|
||||
|
||||
// Apply tracking strength (uses member variable, defaults to 0.5)
|
||||
angle_ += angle_diff * tracking_strength_;
|
||||
@@ -269,7 +280,10 @@ void Enemic::comportament_quadrat(float delta_time) {
|
||||
float new_x = centre_.x + dx;
|
||||
|
||||
// Obtenir límits segurs
|
||||
float min_x, max_x, min_y, max_y;
|
||||
float min_x;
|
||||
float max_x;
|
||||
float min_y;
|
||||
float max_y;
|
||||
Constants::obtenir_limits_zona_segurs(Defaults::Entities::ENEMY_RADIUS,
|
||||
min_x,
|
||||
max_x,
|
||||
@@ -294,7 +308,7 @@ void Enemic::comportament_molinillo(float delta_time) {
|
||||
// Molinillo: agressiu (fast, straight lines, proximity spin-up)
|
||||
|
||||
// Check proximity to ship for spin-up effect
|
||||
if (ship_position_) {
|
||||
if (ship_position_ != nullptr) {
|
||||
float dx = ship_position_->x - centre_.x;
|
||||
float dy = ship_position_->y - centre_.y;
|
||||
float distance = std::sqrt((dx * dx) + (dy * dy));
|
||||
@@ -318,7 +332,10 @@ void Enemic::comportament_molinillo(float delta_time) {
|
||||
float new_x = centre_.x + dx;
|
||||
|
||||
// Obtenir límits segurs
|
||||
float min_x, max_x, min_y, max_y;
|
||||
float min_x;
|
||||
float max_x;
|
||||
float min_y;
|
||||
float max_y;
|
||||
Constants::obtenir_limits_zona_segurs(Defaults::Entities::ENEMY_RADIUS,
|
||||
min_x,
|
||||
max_x,
|
||||
@@ -491,7 +508,10 @@ void Enemic::set_tracking_strength(float strength) {
|
||||
// [NEW] Safe spawn helper - checks if position is away from ship
|
||||
bool Enemic::intent_spawn_safe(const Punt& ship_pos, float& out_x, float& out_y) {
|
||||
// Generate random position within safe bounds
|
||||
float min_x, max_x, min_y, max_y;
|
||||
float min_x;
|
||||
float max_x;
|
||||
float min_y;
|
||||
float max_y;
|
||||
Constants::obtenir_limits_zona_segurs(Defaults::Entities::ENEMY_RADIUS,
|
||||
min_x,
|
||||
max_x,
|
||||
|
||||
Reference in New Issue
Block a user