docs: actualitza estat post-refactor/options-class
- audit-game.md cabecera: contadors actualitzats (32 DONE, 1 DONE parcial, 5 WONTFIX, 0 DEFERRED) i frase dels DEFERRED en pretèrit perfecte. INCONS-01 queda com l'únic DONE (parcial), intencionalment. - player-animations.md secció 4: el patró antic "AnimatedSprite::update integra + col·lisió eix-separada reverteix cada eix" es substitueix per "animate(dt) + tryMove(vx*dt, vy*dt, collidesFn) amb collisionBox() virtual" — coincidint amb el codi post-PATCH-01. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
a7e681a347
commit
510ab55a33
2 files changed
+11
-6
No files matched your search
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
Rama: `audit/game`.
|
Rama: `audit/game`.
|
||||||
Cobertura: `source/game/{entities,map,scenes,ui}` + `source/game/options.{hpp,cpp}` (12 fitxers, ~1.486 línies).
|
Cobertura: `source/game/{entities,map,scenes,ui}` + `source/game/options.{hpp,cpp}` (12 fitxers, ~1.486 línies).
|
||||||
|
|
||||||
Estado global: **28 DONE, 2 DONE (parcial), 5 WONTFIX, 4 DEFERRED** sobre 39 ítems (el top 5 compta dins dels seus IDs individuals). Cada canvi té un commit aïllat i s'ha provat amb `SDL_VIDEODRIVER=dummy` + `SIGINT` (el log de `Game start` a `Bye!` és idèntic entre commits; la branca `config.yaml` de backup verificada manualment amb un fitxer corrupte). Els 4 DEFERRED (COUP-02, COUP-03, CONV-02 resta, PATCH-01) es tanquen a la branca `refactor/options-class` (registre de commits al final del fitxer).
|
Estado global: **32 DONE, 1 DONE (parcial), 5 WONTFIX, 0 DEFERRED** sobre 39 ítems (el top 5 compta dins dels seus IDs individuals). Cada canvi té un commit aïllat i s'ha provat amb `SDL_VIDEODRIVER=dummy` + `SIGINT` (el log de `Game start` a `Bye!` és idèntic entre commits; la branca `config.yaml` de backup verificada manualment amb un fitxer corrupte). Els 4 DEFERRED inicials (COUP-02, COUP-03, CONV-02 part Options, PATCH-01) s'han tancat a la branca `refactor/options-class` (registre de commits al final del fitxer); l'únic ítem que queda en DONE (parcial) és INCONS-01, intencionadament — la nota n'explica el motiu.
|
||||||
|
|
||||||
Estados posibles:
|
Estados posibles:
|
||||||
- `PENDING` — identificat, sense tocar
|
- `PENDING` — identificat, sense tocar
|
||||||
|
|||||||
@@ -52,12 +52,17 @@ impedeix avançar, l'animació `walk*` s'atura i es força la variant
|
|||||||
|
|
||||||
1. Al principi del frame es captura `FRAME_START_X` / `FRAME_START_Y`.
|
1. Al principi del frame es captura `FRAME_START_X` / `FRAME_START_Y`.
|
||||||
2. S'aplica snap al passadís perpendicular si hi ha pur moviment H o V.
|
2. S'aplica snap al passadís perpendicular si hi ha pur moviment H o V.
|
||||||
3. `AnimatedSprite::update` integra la velocitat; la col·lisió
|
3. `animate(delta_time)` avança el frame de l'animació actual sense
|
||||||
eix-separada reverteix cada eix si `Map::collides(baseBox())`.
|
tocar la posició.
|
||||||
4. Després de `clampToPlayfield`, es compara la posició final amb el
|
4. `tryMove(vx*dt, vy*dt, collidesFn)` (a `MovingSprite`) aplica el
|
||||||
|
moviment per eix: si la `collisionBox()` resultant col·lisiona —
|
||||||
|
el Player la sobreescriu retornant `getBaseBox()` —, l'eix es
|
||||||
|
reverteix. Així el jugador llisca contra murs/sarcòfags en lloc de
|
||||||
|
bloquejar-se en sec.
|
||||||
|
5. Després de `clampToPlayfield`, es compara la posició final amb el
|
||||||
valor capturat al pas 1. Si és idèntica, `MOVED = false` i es tria
|
valor capturat al pas 1. Si és idèntica, `MOVED = false` i es tria
|
||||||
`stand` / `stand_up` / `stand_down` segons `facing_`.
|
`stand` / `stand_up` / `stand_down` segons `facing_`. Si hi ha
|
||||||
5. Si hi ha hagut moviment real (incloent-hi snap), s'aplica la variant
|
hagut moviment real (incloent-hi snap), s'aplica la variant
|
||||||
`walk*` del mateix facing.
|
`walk*` del mateix facing.
|
||||||
|
|
||||||
D'aquesta manera, xocar contra un mur o un sarcòfag fa que el jugador es
|
D'aquesta manera, xocar contra un mur o un sarcòfag fa que el jugador es
|
||||||
|
|||||||
Reference in new issue
Block a user