refactor: convertir loops del ctor de GameScene a std::ranges::fill

Cppcheck (style: useStlAlgorithm) marcava els raw loops d'assignació
sobre std::array com a candidats clars per std::fill/std::generate.
Amb fill només es construeix la temporal una vegada i es copia a cada
element, en lloc de construir N temporals.

Preexistent, no introduït per cap commit recent, però el hook ho
demanava en tocar el fitxer. Es resolt el root cause en lloc de
suprimir.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-20 17:10:59 +02:00
parent 707fd29b97
commit 88bb6afab1
+5 -10
View File
@@ -28,8 +28,7 @@ GameScene::GameScene(SDLManager& sdl, SceneContext& context)
context_(context),
debris_manager_(sdl.getRenderer()),
floating_score_manager_(sdl.getRenderer()),
text_(sdl.getRenderer())
{
text_(sdl.getRenderer()) {
// Recuperar configuración de match des del context
match_config_ = context_.getMatchConfig();
@@ -49,14 +48,10 @@ GameScene::GameScene(SDLManager& sdl, SceneContext& context)
ships_[1] = Ship(sdl.getRenderer(), "ship2.shp"); // Jugador 2: interceptor con ales
// Inicialitzar balas con renderer
for (auto& bullet : bullets_) {
bullet = Bullet(sdl.getRenderer());
}
std::ranges::fill(bullets_, Bullet(sdl.getRenderer()));
// Inicialitzar enemigos con renderer
for (auto& enemy : enemies_) {
enemy = Enemy(sdl.getRenderer());
}
std::ranges::fill(enemies_, Enemy(sdl.getRenderer()));
// El resto del estado del juego (física, stages, naves, vidas, puntuación)
// se inicializa en init(), que se llama al final del constructor para que
@@ -138,7 +133,7 @@ void GameScene::init() {
// Jugador inactiu: marcar como a mort permanent
ships_[i].markHit();
hit_timer_per_player_[i] = 999.0F; // Valor sentinella (permanent inactiu)
lives_per_player_[i] = 0; // Sin vides
lives_per_player_[i] = 0; // Sin vides
std::cout << "[GameScene] Jugador " << (i + 1) << " inactiu\n";
}
}
@@ -235,7 +230,7 @@ void GameScene::stepMidGameJoin() {
auto* input = Input::get();
for (uint8_t pid = 0; pid < 2; pid++) {
const bool ACTIU = (pid == 0) ? match_config_.jugador1_actiu
: match_config_.jugador2_actiu;
: match_config_.jugador2_actiu;
const bool MUERTO_SIN_VIDAS = hit_timer_per_player_[pid] == 999.0F;
if (ACTIU && !MUERTO_SIN_VIDAS) {
continue; // jugador ya está jugando