diff --git a/source/core/graphics/starfield.cpp b/source/core/graphics/starfield.cpp index a587ec2..01e5623 100644 --- a/source/core/graphics/starfield.cpp +++ b/source/core/graphics/starfield.cpp @@ -50,10 +50,10 @@ Starfield::Starfield(Rendering::Renderer* renderer, estrella.capa = capa_idx; // Angle aleatori - estrella.angle = (static_cast(rand()) / RAND_MAX) * 2.0F * Defaults::Math::PI; + estrella.angle = (static_cast(rand()) / static_cast(RAND_MAX)) * 2.0F * Defaults::Math::PI; // Distancia aleatòria (0.0 a 1.0) per omplir toda la pantalla - estrella.distancia_centre = static_cast(rand()) / RAND_MAX; + estrella.distancia_centre = static_cast(rand()) / static_cast(RAND_MAX); // Calcular posición desde la distancia float radi = estrella.distancia_centre * radi_max_; @@ -68,7 +68,7 @@ Starfield::Starfield(Rendering::Renderer* renderer, // Inicialitzar una estrella (nueva o regenerada) void Starfield::initStar(Estrella& estrella) const { // Angle aleatori des del point de fuga hacia fuera - estrella.angle = (static_cast(rand()) / RAND_MAX) * 2.0F * Defaults::Math::PI; + estrella.angle = (static_cast(rand()) / static_cast(RAND_MAX)) * 2.0F * Defaults::Math::PI; // Distancia inicial pequeña (5% del radi màxim) - neix prop del centro estrella.distancia_centre = 0.05F; diff --git a/source/game/entities/enemy.cpp b/source/game/entities/enemy.cpp index c23a846..1617366 100644 --- a/source/game/entities/enemy.cpp +++ b/source/game/entities/enemy.cpp @@ -153,7 +153,7 @@ void Enemy::init(EnemyType type, const Vec2* ship_pos) { // Rotación visual aleatoria (independiente del body) const float DROTACIO_RANGE = drotacio_max - drotacio_min; - drotacio_ = drotacio_min + ((static_cast(std::rand()) / RAND_MAX) * DROTACIO_RANGE); + drotacio_ = drotacio_min + ((static_cast(std::rand()) / static_cast(RAND_MAX)) * DROTACIO_RANGE); rotacio_ = 0.0F; // Estado de animación @@ -269,10 +269,10 @@ void Enemy::behaviorPentagon(float delta_time) { // Probabilidad de zigzag por segundo (calibrada para sensación equivalente // a la versión vieja que disparaba en cada toque de pared). constexpr float ZIGZAG_PROB_PER_SECOND = 0.8F; - const float RAND_VAL = static_cast(std::rand()) / RAND_MAX; + const float RAND_VAL = static_cast(std::rand()) / static_cast(RAND_MAX); if (RAND_VAL < ZIGZAG_PROB_PER_SECOND * delta_time) { const float CURRENT_ANGLE = velocityToAngle(body_.velocity); - const float DELTA = (static_cast(std::rand()) / RAND_MAX) * + const float DELTA = (static_cast(std::rand()) / static_cast(RAND_MAX)) * Defaults::Enemies::Pentagon::CANVI_ANGLE_MAX; const float NEW_ANGLE = CURRENT_ANGLE + ((std::rand() % 2 == 0) ? DELTA : -DELTA); const float SPEED = body_.velocity.length(); @@ -339,7 +339,7 @@ void Enemy::updatePalpitation(float delta_time) { animacio_.palpitacio_activa = false; } } else { - const float RAND_VAL = static_cast(std::rand()) / RAND_MAX; + const float RAND_VAL = static_cast(std::rand()) / static_cast(RAND_MAX); const float TRIGGER_PROB = Defaults::Enemies::Animation::PALPITACIO_TRIGGER_PROB * delta_time; if (RAND_VAL < TRIGGER_PROB) { animacio_.palpitacio_activa = true; @@ -348,17 +348,17 @@ void Enemy::updatePalpitation(float delta_time) { const float FREQ_RANGE = Defaults::Enemies::Animation::PALPITACIO_FREQ_MAX - Defaults::Enemies::Animation::PALPITACIO_FREQ_MIN; animacio_.palpitacio_frequencia = Defaults::Enemies::Animation::PALPITACIO_FREQ_MIN + - ((static_cast(std::rand()) / RAND_MAX) * FREQ_RANGE); + ((static_cast(std::rand()) / static_cast(RAND_MAX)) * FREQ_RANGE); const float AMP_RANGE = Defaults::Enemies::Animation::PALPITACIO_AMPLITUD_MAX - Defaults::Enemies::Animation::PALPITACIO_AMPLITUD_MIN; animacio_.palpitacio_amplitud = Defaults::Enemies::Animation::PALPITACIO_AMPLITUD_MIN + - ((static_cast(std::rand()) / RAND_MAX) * AMP_RANGE); + ((static_cast(std::rand()) / static_cast(RAND_MAX)) * AMP_RANGE); const float DUR_RANGE = Defaults::Enemies::Animation::PALPITACIO_DURACIO_MAX - Defaults::Enemies::Animation::PALPITACIO_DURACIO_MIN; animacio_.palpitacio_temps_restant = Defaults::Enemies::Animation::PALPITACIO_DURACIO_MIN + - ((static_cast(std::rand()) / RAND_MAX) * DUR_RANGE); + ((static_cast(std::rand()) / static_cast(RAND_MAX)) * DUR_RANGE); } } } @@ -378,7 +378,7 @@ void Enemy::updateRotationAcceleration(float delta_time) { drotacio_ = INITIAL + ((TARGET - INITIAL) * SMOOTH_T); } } else { - const float RAND_VAL = static_cast(std::rand()) / RAND_MAX; + const float RAND_VAL = static_cast(std::rand()) / static_cast(RAND_MAX); const float TRIGGER_PROB = Defaults::Enemies::Animation::ROTACIO_ACCEL_TRIGGER_PROB * delta_time; if (RAND_VAL < TRIGGER_PROB) { animacio_.drotacio_t = 0.0F; @@ -386,13 +386,13 @@ void Enemy::updateRotationAcceleration(float delta_time) { const float MULT_RANGE = Defaults::Enemies::Animation::ROTACIO_ACCEL_MULTIPLIER_MAX - Defaults::Enemies::Animation::ROTACIO_ACCEL_MULTIPLIER_MIN; const float MULTIPLIER = Defaults::Enemies::Animation::ROTACIO_ACCEL_MULTIPLIER_MIN + - ((static_cast(std::rand()) / RAND_MAX) * MULT_RANGE); + ((static_cast(std::rand()) / static_cast(RAND_MAX)) * MULT_RANGE); animacio_.drotacio_objetivo = animacio_.drotacio_base * MULTIPLIER; const float DUR_RANGE = Defaults::Enemies::Animation::ROTACIO_ACCEL_DURACIO_MAX - Defaults::Enemies::Animation::ROTACIO_ACCEL_DURACIO_MIN; animacio_.drotacio_duracio = Defaults::Enemies::Animation::ROTACIO_ACCEL_DURACIO_MIN + - ((static_cast(std::rand()) / RAND_MAX) * DUR_RANGE); + ((static_cast(std::rand()) / static_cast(RAND_MAX)) * DUR_RANGE); } } }