feat(enemy): parpadeig dorat quan està herit (Fase 4)
Enemy::draw() ara, si wounded_timer_ > 0, alterna entre el color del tipus i Defaults::Palette::WOUNDED (dorat) a Wounded::BLINK_HZ usant fmod sobre el periode del cicle — patró reutilitzat del Ship::draw() d'invulnerabilitat però aplicat a color en lloc de visibilitat. A 10 Hz amb DURATION=1s dóna ~10 parpadeigs visibles abans d'explotar. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -245,6 +245,17 @@ void Enemy::draw() const {
|
||||
color = Defaults::Palette::MOLINILLO;
|
||||
break;
|
||||
}
|
||||
|
||||
// Parpadeo dorado mientras está herido: alterna color de tipo ↔ dorado
|
||||
// a Wounded::BLINK_HZ usando el timer (fmod sobre el periodo).
|
||||
if (wounded_timer_ > 0.0F) {
|
||||
const float CYCLE = 1.0F / Defaults::Enemies::Wounded::BLINK_HZ;
|
||||
const float T = std::fmod(wounded_timer_, CYCLE);
|
||||
if (T < (CYCLE / 2.0F)) {
|
||||
color = Defaults::Palette::WOUNDED;
|
||||
}
|
||||
}
|
||||
|
||||
Rendering::renderShape(renderer_, shape_, center_, rotacio_, SCALE, 1.0F, brightness_, color);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user