Coup de l'ordinateur montré, aucun coup possible, dés et videau touchables #19
@@ -165,17 +165,56 @@ identique (« revoir »).
|
||||
les mêmes traces reviennent ; une capture `coup-adverse` est prise. La
|
||||
seconde fois, en mouvement réduit, aucune animation ne tourne et les traces
|
||||
reviennent.
|
||||
- Résultats : `make lint` sans problème ; `make test` 10/10 ; `make
|
||||
test-browser` vert sous Chromium (coup de l'ordinateur montré 26 fois) et
|
||||
Firefox (43 fois), sans violation CSP ni erreur dans la page.
|
||||
**Ajout : aucun coup possible** :
|
||||
- Domaine : `Game.roll()` ne fait plus passer le tour. `Game.cannotMove()`
|
||||
dit, d'après `legalMoves` du moteur, que le jet ne permet aucun coup.
|
||||
`Game.skipTurn()` enregistre alors le coup vide (même événement
|
||||
`MovePlayed` sans demi-coup qu'avant, format inchangé) ; il est refusé s'il
|
||||
existe un coup. Le nom `skipTurn` évite la confusion avec « passer » (le
|
||||
double), qui est `drop` dans le glossaire.
|
||||
- Interface : bouton « Continuer » (`#skip`), message « Aucun coup possible
|
||||
avec 6-5. », consigne « Touchez « Continuer » : le tour passe à
|
||||
l'ordinateur. », dés estompés et barrés (`.die-blocked`, `.die-strike`).
|
||||
Quand l'ordinateur ne peut pas jouer, ses dés restent barrés avec « L'ordinateur
|
||||
ne peut pas jouer 5-5. » jusqu'à l'action suivante. Ces deux messages se
|
||||
déduisent du journal : ils survivent à un rechargement.
|
||||
- Tests : scénario « Aucun coup possible avec votre jet » (pion sur la barre
|
||||
face aux six cases tenues, 6-5), tests unitaires `cannotMove`/`skipTurn`
|
||||
(faux moteur), partie complète adaptée. Dans le navigateur, « Continuer »
|
||||
a été demandé 1 fois (Chromium) et 3 fois (Firefox) : message et deux dés
|
||||
barrés vérifiés à chaque fois. Le jet sans coup de l'ordinateur est vérifié
|
||||
quand il survient (pas survenu dans ces deux parties).
|
||||
|
||||
**Ajout : toucher les dés et le videau** :
|
||||
- Quand vous pouvez lancer, deux dés « en attente » (faces vides, contour en
|
||||
pointillés) apparaissent au milieu de la moitié gauche. La moitié droite
|
||||
garde le dernier jet de l'ordinateur, qui doit rester visible. Quand vous
|
||||
pouvez doubler (`Game.canDouble()`, comme le bouton), le videau est souligné.
|
||||
- Les toucher clique le bouton correspondant (`#roll`, `#double`) : mêmes
|
||||
conditions, même effet. Hors de ces moments, aucune zone n'est posée.
|
||||
- Zones à toucher : `role="button"`, `aria-label` (« Lancer les dés »,
|
||||
« Doubler »), au moins 88 unités, soit 47 px sur le plateau de 344 px d'un
|
||||
téléphone de 360 px. Les boutons restent pour le clavier ; les zones n'ont
|
||||
pas de `tabindex`, pour ne pas doubler l'ordre de tabulation.
|
||||
- Navigateur : dés touchés 10 fois (Chromium) et 14 fois (Firefox), videau
|
||||
touché pour doubler, taille et rôle vérifiés ; aucune zone pendant la
|
||||
saisie d'un coup.
|
||||
|
||||
**Résultats finaux** (dernier commit vérifié) : `make lint` sans problème ;
|
||||
`make test` 10/10 ; `make test-browser` vert sous Chromium et Firefox, sans
|
||||
violation CSP ni erreur dans la page. Le coup de l'ordinateur a été montré 21
|
||||
et 30 fois. Dans Firefox, un coup revu a frappé deux pions, tous deux signalés sur la
|
||||
barre.
|
||||
|
||||
**Limites** :
|
||||
- Aucune des deux parties du navigateur n'a vu l'ordinateur frapper (0 pion
|
||||
frappé signalé). L'animation vers la barre n'est donc vérifiée que par le
|
||||
scénario et les tests unitaires (plateaux et traces), pas dans un
|
||||
navigateur.
|
||||
- Firefox a affiché un tour de l'ordinateur à 4,4 s au plus. Ce temps est
|
||||
mesuré avant l'animation, qui n'y est pour rien : c'est le moteur sous
|
||||
- Un premier essai de `make test-browser` a échoué dans `docker build`
|
||||
(« parent snapshot … does not exist »), sans lien avec le code
|
||||
(probablement une autre construction Docker en parallèle). L'essai suivant
|
||||
est passé.
|
||||
- Firefox affiche des tours de l'ordinateur de 3 à 4,4 s au plus. Ce temps
|
||||
est mesuré avant l'animation, qui n'y est pour rien : c'est le moteur sous
|
||||
Firefox sur le PC de 2011. Chromium : 0,6 s au plus.
|
||||
- Les dés en attente sont à gauche alors que le jet lancé s'affiche à
|
||||
droite : c'est un choix d'interface, à revoir avec la charte si besoin.
|
||||
- Sur une case de plus de cinq pions, c'est le cinquième pion dessiné qui
|
||||
glisse (le nombre reste affiché sur la pile).
|
||||
|
||||
Reference in New Issue
Block a user