JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
test_animation_personnage.cpp File Reference

Tests d'intégration de l'animation du personnage : ECS + système d'animation assemblés. More...

Functions

 TEST (AnimationPersonnageIntegration, ALArretEstEnRepos)
 À l'arrêt, le clip est Idle et l'image alterne 0/1 après chaque durée d'image.
 TEST (AnimationPersonnageIntegration, EnMouvementCourt)
 En mouvement horizontal, le clip est Run et l'image boucle sur les 4 images dans l'ordre.
 TEST (AnimationPersonnageIntegration, MarcheVerticaleCourtAussi)
 Marcher vers le haut anime autant que marcher vers la droite : les deux axes comptent pareil (EX-EXP-001).
 TEST (AnimationPersonnageIntegration, ChangementDeClipReinitialiseLImage)
 Un changement de clip réinitialise immédiatement l'image et le chronomètre à zéro.
 TEST (AnimationPersonnageIntegration, EntiteSansAnimationIgnoree)
 Une entité sans composant Animation n'est pas affectée par le système.
 TEST (AnimationPersonnageIntegration, AnimationSansJeuDeClipsResteInerte)
 Une entité portant Animation mais sans jeu de clips assigné n'est pas affectée (EX-NFR-040) : aucune donnée à progresser, ni plantage.

Detailed Description

Tests d'intégration de l'animation du personnage : ECS + système d'animation assemblés.

AnimationSystem dérive le clip (idle/run) et l'image courante de la vitesse simulée d'un core::Actor. Depuis le LOT-06, il n'y a plus ni sol à quitter ni mur où glisser : les clips aériens du platformer restent déclarés dans core::playerClipSet() — poses procédurales et spritesheets externes s'y accrochent — mais plus rien ne les sélectionne, et c'est le vocabulaire de sprites RPG du LOT-08 qui refera ce jeu de clips.

Function Documentation

◆ TEST() [1/6]

TEST ( AnimationPersonnageIntegration ,
ALArretEstEnRepos  )

À l'arrêt, le clip est Idle et l'image alterne 0/1 après chaque durée d'image.

Cas de test : A l'arret, le clip est Idle et l'image alterne 0/1 apres chaque duree d'image.
Categorie : Integration · Animation Personnage
Criticite : Majeur
Etapes :
1. Placer un acteur de vitesse nulle.
2. Avancer l'animation d'une duree d'image.
Resultat attendu : Le clip est Idle, et l'image alterne 0 puis 1.

◆ TEST() [2/6]

TEST ( AnimationPersonnageIntegration ,
AnimationSansJeuDeClipsResteInerte  )

Une entité portant Animation mais sans jeu de clips assigné n'est pas affectée (EX-NFR-040) : aucune donnée à progresser, ni plantage.

Cas de test : Une entite Animation sans jeu de clips assigne reste inerte, sans planter.
Categorie : Integration · Animation Personnage
Criticite : Mineur
Etapes :
1. Creer un acteur dont l'Animation n'a aucun jeu de clips.
2. Avancer le systeme dix pas.
Resultat attendu : L'animation reste a ses valeurs par defaut, sans exception.

◆ TEST() [3/6]

TEST ( AnimationPersonnageIntegration ,
ChangementDeClipReinitialiseLImage  )

Un changement de clip réinitialise immédiatement l'image et le chronomètre à zéro.

Cas de test : Un changement de clip reinitialise immediatement l'image et le chronometre.
Categorie : Integration · Animation Personnage
Criticite : Majeur
Etapes :
1. Faire courir un acteur jusqu'a une image differente de 0.
2. Annuler sa vitesse.
Resultat attendu : Le clip repasse a Idle, image 0, chronometre a zero.

◆ TEST() [4/6]

TEST ( AnimationPersonnageIntegration ,
EnMouvementCourt  )

En mouvement horizontal, le clip est Run et l'image boucle sur les 4 images dans l'ordre.

Cas de test : En mouvement, le clip est Run et l'image boucle sur les 4 images dans l'ordre.
Categorie : Integration · Animation Personnage
Criticite : Majeur
Etapes :
1. Placer un acteur en mouvement horizontal.
2. Avancer l'animation de quatre durees d'image.
Resultat attendu : Le clip est Run, et l'image passe 0, 1, 2, 3 puis reboucle sur 0.

◆ TEST() [5/6]

TEST ( AnimationPersonnageIntegration ,
EntiteSansAnimationIgnoree  )

Une entité sans composant Animation n'est pas affectée par le système.

Cas de test : Une entite sans composant Animation n'est pas affectee par le systeme.
Categorie : Integration · Animation Personnage
Criticite : Mineur
Etapes :
1. Creer un acteur sans composant Animation.
2. Avancer le systeme dix pas.
Resultat attendu : Aucun composant Animation n'apparait.

◆ TEST() [6/6]

TEST ( AnimationPersonnageIntegration ,
MarcheVerticaleCourtAussi  )

Marcher vers le haut anime autant que marcher vers la droite : les deux axes comptent pareil (EX-EXP-001).

Le platformer ne regardait que la composante horizontale — la verticale y voulait dire « saut » ou « chute ». En vue de dessus, une marche verticale est une marche. Cas de test : Une marche purement verticale anime comme une marche horizontale.
Categorie : Integration · Animation Personnage
Criticite : Majeur
Etapes :
1. Placer un acteur dont la vitesse est purement verticale.
2. Avancer d'un pas.
Resultat attendu : Le clip resolu est Run, comme pour une marche horizontale.