Compare commits
11
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bad7c23287 | ||
|
|
2382fdd597 | ||
|
|
67cabcdc5c | ||
|
|
ee661661fd | ||
|
|
432f03878e | ||
|
|
2dcfcf2baf | ||
|
|
e98a203111 | ||
|
|
f3555d0f11 | ||
|
|
b27ca76191 | ||
|
|
f70e1a6a74 | ||
|
|
903f9c405b |
@@ -26,6 +26,8 @@ Repris du cadrage (modules, écrans clés, IA générative en V1) et des ADR 001
|
||||
| 1g. Accueil, tutoriel et leçons (fait) | Accueil (reprendre, nouvelle partie, prochaine leçon, progression résumée), tutoriel des règles interactif et illustré (0e.5), cinq premières leçons numérotées (ADR 0011) avec positions et « à vous de jouer », progression locale ; contenus CC BY-SA 4.0 livrés sans relecture préalable, sous les garde-fous du moteur (décision du 2026-11-09) | 0e.5, 1a |
|
||||
| 1h. Progression (fait) | Historique des parties et courbe du taux d'erreur | 1b, 1e |
|
||||
| 1i. Plateau soigné | Dessin du plateau aligné sur la charte (`docs/identite/charte/board.js`), animations des pions, glisser-déposer en plus du toucher, double toucher pour le seul coup évident | 0e.3 |
|
||||
| 1k. Retours des joueurs, 2e lot | Crawford signalé sur la barre ; abandon (simple, gammon, backgammon) accepté ou refusé par l'ordinateur selon GNU Backgammon (plan `2026-11-12-retours-joueurs-2.md`) | 1c, 1e |
|
||||
| 1l. Analyse du match | Bilan et courbe d'un match entier (chances de gagner le match), erreurs de videau sur tout le match, prompt et export SGF du match (plan `2026-11-12-analyse-du-match.md`) | 1c, 1e, 1f |
|
||||
| 1j. Plan de test | `docs/guide-test-etape-1.md` : parcours du débutant et du joueur de club sur le téléphone, avec ce qu'il faut rapporter | toutes |
|
||||
|
||||
## Orientation donnée par Pierre
|
||||
|
||||
@@ -160,7 +160,7 @@ remplace en place, sans saut.
|
||||
lecture simple du jeu et des dés (« Votre jeu a fait la différence, avec
|
||||
des dés un peu contre vous. »), construite à partir du taux d'erreur et de
|
||||
la chance donnés par le moteur, jamais inventée.
|
||||
2. Trois cases côte à côte : le nombre de bons coups, d'imprécisions et
|
||||
2. Trois tuiles côte à côte : le nombre de bons coups, d'imprécisions et
|
||||
d'erreurs (grosses erreurs comprises), chiffre en 28 px, mot et icône en
|
||||
couleur d'appréciation.
|
||||
3. Deux jauges sur une ligne chacune :
|
||||
@@ -284,14 +284,225 @@ Maquette « Progression ».
|
||||
|
||||
- **Glisser-déposer** : le pion suit le doigt, agrandi à 115 % et décalé de
|
||||
12 px vers le haut pour rester visible sous le doigt ; à son départ, un pion
|
||||
fantôme en pointillés ; les cases d'arrivée permises gardent leur voile et
|
||||
leur anneau (révision UX). Lâché sur une case permise : il s'y pose
|
||||
fantôme en pointillés ; les flèches d'arrivée permises gardent leur voile et
|
||||
leur anneau (révision UX). Lâché sur une flèche permise : il s'y pose
|
||||
(`duration-fast`, vibration « pion posé ») ; lâché ailleurs : il revient à
|
||||
sa place en `duration-fast`, sans vibration ni message.
|
||||
- **Double toucher** : joue le coup évident quand il existe (un seul coup légal
|
||||
complet commence par ce pion, ou le moteur n'en propose qu'un) ; sinon, il
|
||||
vaut un simple toucher, sans message d'erreur.
|
||||
- **Toucher simple** : inchangé (pion puis case, ou avance directe s'il n'a
|
||||
qu'une case d'arrivée).
|
||||
- **Toucher simple** : inchangé (pion puis flèche, ou avance directe s'il n'a
|
||||
qu'une flèche d'arrivée).
|
||||
- Les trois gestes coexistent ; aucun n'est expliqué par une fenêtre : le
|
||||
tutoriel et l'aide en parlent.
|
||||
|
||||
## Retours des joueurs, 2e lot : Crawford sur la barre, abandon
|
||||
|
||||
Maquettes : rangée « Retours des joueurs, 2e lot » du canevas, et les
|
||||
artboards « Match en 5 points » et « Match en paysage » de la rangée 1c,
|
||||
mis à jour.
|
||||
|
||||
### Crawford sur la barre
|
||||
|
||||
Pendant la partie Crawford, le videau ne peut pas être proposé : c'est ce
|
||||
que le joueur doit voir, là où il regarde, sur le plateau.
|
||||
|
||||
- Le mot **« Crawford »** est écrit à la verticale sur la barre (lecture de
|
||||
bas en haut), en capitales, `font-weight` 800, espacement 0,12 em, dans
|
||||
une capsule au contour de 1,5 px. Texte et contour prennent la couleur
|
||||
des numéros du cadre (`#F3EAD8` en clair, `#CDBFA8` en sombre), soit plus
|
||||
de 9:1 sur le bois de la barre. Pas de brique : la brique veut dire « à
|
||||
faire », et Crawford est un état.
|
||||
- **Taille** : 11 px au moins à l'écran, en portrait comme en paysage. La
|
||||
capsule fait environ 15 px de large en portrait, dans une barre d'environ
|
||||
22 px.
|
||||
- **Place** : dans la moitié haute de la barre, entre le bord du cadre et le
|
||||
premier pion frappé. En paysage, elle se place sous la pastille du compte
|
||||
de points de l'ordinateur, sans la toucher (8 px d'écart au moins).
|
||||
- **Pions frappés** : la capsule est dessinée sous eux. Si la moitié haute
|
||||
porte plus de pions frappés que la moitié basse, elle passe dans la
|
||||
moitié basse, symétriquement (au-dessus de la pastille de votre compte en
|
||||
paysage). Les pions ne bougent jamais pour elle.
|
||||
- **Le videau** reste à sa place, à 40 % d'opacité pendant cette partie.
|
||||
Le bouton « Doubler » disparaît de la barre d'actions.
|
||||
- **La ligne du match** en portrait ne dit plus « partie Crawford » :
|
||||
« Match en 5 points » suffit, la barre porte l'information. En paysage,
|
||||
le préfixe de la consigne disparaît aussi.
|
||||
- **Accessibilité** : `role="note"`, avec le libellé « Partie Crawford : le
|
||||
videau ne peut pas être proposé pendant cette partie. ». Ce n'est pas une
|
||||
cible tactile : la capsule ne doit pas gêner les touchers sur les flèches
|
||||
7 et 18. L'explication vient de l'aide et de la fiche du glossaire.
|
||||
- **Apparition** : un fondu en `duration-base` (160 ms) au début de la partie
|
||||
Crawford, et rien d'autre. Elle disparaît à la partie suivante.
|
||||
|
||||
### Abandonner une partie
|
||||
|
||||
Comme dans gnubg : le joueur propose d'abandonner en concédant une partie
|
||||
simple, un gammon ou un backgammon, et l'ordinateur accepte ou refuse selon
|
||||
le moteur.
|
||||
|
||||
- **Quand** : à votre tour, avant de lancer les dés, comme pour doubler.
|
||||
C'est le seul moment où le drapeau est présent ; ailleurs, il n'apparaît
|
||||
pas. Jamais dans le tutoriel ni dans les leçons.
|
||||
- **Le drapeau** : une icône de drapeau au trait (20 px, couleur du texte,
|
||||
jamais en brique), dans un bouton rond de 52 px.
|
||||
- En portrait, il est à gauche dans la barre d'actions, avant
|
||||
« Doubler » et « Lancer les dés ».
|
||||
- En paysage, il est dans la colonne de commandes, au-dessus du bouton
|
||||
d'annulation.
|
||||
- Son libellé accessible est « Abandonner la partie ». Le menu propose
|
||||
aussi la ligne « Abandonner la partie », active au même moment
|
||||
seulement.
|
||||
- **La feuille de choix**, qui monte depuis le bas (artboard « Abandon :
|
||||
feuille de choix ») :
|
||||
- le titre « Abandonner la partie » ;
|
||||
- une phrase : « Vous proposez de perdre tout de suite. L'ordinateur
|
||||
accepte ou refuse, selon le moteur. », complétée par « Le videau est
|
||||
à 2. » quand il a été doublé ;
|
||||
- un choix unique en cartes de 56 px : « Une partie simple »,
|
||||
« Un gammon », « Un backgammon », chacune avec les points en jeu à
|
||||
droite, videau compris ;
|
||||
- en match, les points se lisent comme le score qui en résulterait :
|
||||
« vous 2, l'ordinateur 5 · fin du match » ;
|
||||
- seuls les choix qui peuvent changer le résultat sont proposés. Ce sont
|
||||
ceux que le moteur juge possibles ; en partie libre, sans videau
|
||||
doublé, la règle de Jacoby fait que gammon et backgammon ne comptent
|
||||
pas, donc seule « Une partie simple » reste, sans liste de choix ;
|
||||
- le choix par défaut est le plus petit ;
|
||||
- les actions sont « Continuer la partie » (secondaire) et « Proposer »
|
||||
(principale) ;
|
||||
- la feuille elle-même tient lieu de confirmation : pas de deuxième
|
||||
question.
|
||||
- **La réponse** arrive après un temps court. Pendant le calcul,
|
||||
« Proposer » devient « L'ordinateur réfléchit… », désactivé.
|
||||
- **Il accepte** : la feuille se ferme et la partie se termine comme une
|
||||
défaite ordinaire, avec la fin de partie puis le bilan. Le résultat
|
||||
s'écrit « Perdue par abandon, gammon, 2 points » dans la fin de partie,
|
||||
le bilan et la progression. L'abandon accepté ne s'annule pas : c'est
|
||||
la seule action du jeu sans retour, et la feuille l'a dit.
|
||||
- **Il refuse** : la feuille se ferme, la partie continue et le drapeau
|
||||
reste disponible. Un message du maître s'affiche au-dessus de la barre
|
||||
d'actions (artboard « Abandon : l'ordinateur refuse ») : le drapeau,
|
||||
puis « L'ordinateur refuse. » en gras, puis la raison donnée par le
|
||||
moteur. Le message reste jusqu'au lancer des dés.
|
||||
- **Ton** : des faits, ni reproche ni encouragement à abandonner. Phrases
|
||||
à ajouter à `docs/maitre/phrases.md`, puis à valider par Pierre :
|
||||
- `abandon.refus` : « L'ordinateur refuse. D'après le moteur, il peut
|
||||
espérer plus que {concession} en continuant. La partie continue. »
|
||||
({concession} : « une partie simple », « un gammon ») ;
|
||||
- `abandon.accepte` : « L'ordinateur accepte votre abandon : vous perdez
|
||||
{concession}, {points}. ».
|
||||
- **Glossaire** : nouvelle fiche `abandon.md` (anglais : resign). En bref :
|
||||
« Abandonner, c'est concéder la partie avant la fin, en proposant de
|
||||
perdre une partie simple, un gammon ou un backgammon. L'adversaire
|
||||
accepte ou refuse ; s'il refuse, la partie continue. »
|
||||
- **Hors périmètre** : l'ordinateur qui propose lui-même d'abandonner
|
||||
(gnubg sait le faire). C'est à décider plus tard, avec Pierre.
|
||||
|
||||
## Bilan du match (`#/matchs/<id>/bilan`)
|
||||
|
||||
Demande de Pierre (2026-11-12) : une analyse du match entier, surtout pour
|
||||
le videau. Maquettes : rangée « Analyse du match entier » du canevas
|
||||
(« Bilan du match », page entière, et « Vos parties : un match = une
|
||||
ligne »). L'exemple suit le match de Pierre : mené 0–4, gagné 5–4.
|
||||
|
||||
Le bilan d'une partie (1e) reste tel quel. Le bilan du match a la même
|
||||
forme et les mêmes composants, de haut en bas :
|
||||
|
||||
1. **L'en-tête** : en `caption`, « Fin du match · 5 points · <date> » ; en
|
||||
`display`, « Vous gagnez le match » ou « L'ordinateur gagne le match » ;
|
||||
puis une phrase factuelle avec le score final et le plus grand retard
|
||||
remonté, s'il y en a un (« 5 à 4, en cinq parties, après avoir été mené 0
|
||||
à 4. »). Pour un match en cours : « Match en cours · 1–2 » et « Reprendre
|
||||
le match » en action principale.
|
||||
2. **La courbe des chances de gagner le match**, la pièce maîtresse :
|
||||
- une seule ligne continue, de 0 à 100 %, de la première décision à la
|
||||
dernière : la fin d'une partie est le début de la suivante ;
|
||||
- les parties sont séparées par un trait vertical `border` ; au-dessus de
|
||||
chaque partie, le score **au début** de celle-ci (« 0–2 ») ; en
|
||||
dessous, son nom court (« P2 ») ;
|
||||
- la partie Crawford a un fond `surface-sunken` ;
|
||||
- la ligne des 50 % est en pointillés, avec son libellé ;
|
||||
- trois marques, sans autre couleur sur la courbe : le moment décisif
|
||||
(anneau `last`, or), la décision à revoir (point `verdict-blunder`) et
|
||||
la fin (point `verdict-good` si le match est gagné, `text` sinon) ;
|
||||
- une légende de trois éléments sous la courbe ;
|
||||
- **lecture au doigt** : glisser sur la courbe affiche une bulle (partie,
|
||||
coup, score, chances en %), avec un trait vertical qui suit le doigt et
|
||||
une vibration légère à chaque changement de partie ; lâcher garde la
|
||||
bulle ; toucher la bulle ouvre la décision dans l'analyse. Au clavier :
|
||||
← → d'une décision à l'autre, Entrée pour ouvrir.
|
||||
C'est la seule cible de la courbe : tout son cadre (au moins 150 px de
|
||||
haut) sert de zone tactile.
|
||||
- le libellé accessible résume la courbe en une phrase (départ, plus bas,
|
||||
fin, moment décisif).
|
||||
3. **« Partie par partie »** : une liste, une ligne de 52 px par partie (son
|
||||
numéro, son résultat court comme dans la progression, qui a marqué
|
||||
combien, et le score **après** la partie en chiffres gras à droite) ;
|
||||
chaque ligne ouvre le bilan de la partie. Le score se lit toujours
|
||||
« vous – l'ordinateur », et une phrase `caption` le rappelle sous la
|
||||
liste.
|
||||
4. **« Votre jeu sur le match »** : trois tuiles, le taux d'erreur de tout
|
||||
le match, celui des pions et celui du videau, en millièmes comme ailleurs.
|
||||
En dessous, les jauges « Votre jeu » et « Les dés » du bilan de partie,
|
||||
calculées sur tout le match.
|
||||
5. **« Le videau »**, le cœur de la demande :
|
||||
- une phrase : « 8 décisions de videau ; pour 2 d'entre elles, j'aurais
|
||||
fait autrement. » ;
|
||||
- une ligne par décision qui diffère de celle du moteur, regroupée par
|
||||
sorte, dans l'ordre : mauvais double, double manqué, prise fautive,
|
||||
refus fautif. Sur la ligne : la sorte, « Partie 2, coup 6, à 0–2 » (le
|
||||
score compte beaucoup au videau), et la perte de chances de gagner le
|
||||
match en %, colorée comme le verdict ;
|
||||
- les sortes sans écart tiennent en une phrase (« Prises et refus :
|
||||
aucune différence avec mes choix. ») ;
|
||||
- chaque ligne ouvre la décision dans l'analyse.
|
||||
6. **« Le moment décisif »** : la décision ou le jet qui a fait le plus
|
||||
varier les chances de gagner le match. Une phrase factuelle (« Avec 5-5,
|
||||
vos chances de gagner le match passent de 24 % à 46 %. C'est le plus
|
||||
grand écart du match. ») et le lien « Voir ce coup ». Pas de jugement :
|
||||
ce peut être un coup de dés.
|
||||
7. **« La décision à revoir »** : la plus grande perte de chances de gagner
|
||||
le match, pions ou videau, présentée comme « le coup à revoir » du bilan
|
||||
de partie (miniature, verdict, phrase du maître, « Revoir » et
|
||||
« Demander à une IA »). Le prompt est le gabarit « bilan de mon match ».
|
||||
8. **« Exporter le match (SGF) »**, un lien avec une phrase : « pour l'ouvrir
|
||||
dans GNU Backgammon ».
|
||||
|
||||
**Barre d'actions** : « Revoir le match » (secondaire, ouvre l'analyse à
|
||||
la première décision de la partie 1) et « Nouveau match » (principale).
|
||||
|
||||
**Unités** : en match, les pertes s'expriment en **chances de gagner le
|
||||
match** (%), à une décimale, et jamais en équité. Le taux d'erreur reste en
|
||||
millièmes, comme dans la progression.
|
||||
|
||||
### Accès
|
||||
|
||||
- **Fin d'un match** : la fin de partie de la dernière partie propose « Bilan
|
||||
du match » en action principale, à la place de « Nouvelle partie » ; le
|
||||
bilan de cette partie garde un lien « Voir le bilan du match ».
|
||||
- **Bilan d'une partie de match** : sous l'en-tête, une ligne `caption`
|
||||
« Partie 2 du match en 5 points · <lien>Bilan du match</lien> ».
|
||||
- **Analyse d'une partie de match** : en tête, « Partie 2 sur 5 · 0–2 »,
|
||||
avec « ‹ » et « › » (44 px) pour passer à la partie précédente ou
|
||||
suivante. La courbe de l'analyse reste celle de la partie.
|
||||
- **Listes (« Vos parties », progression)** : un match tient en **une
|
||||
ligne** :
|
||||
- le titre « Match en 5 points · gagné 5–4 » (« perdu », « en cours,
|
||||
1–2 ») ;
|
||||
- un trait par partie, `verdict-good` si vous l'avez gagnée,
|
||||
`border-strong` sinon, et un trait en pointillés pour la partie à
|
||||
venir d'un match en cours ;
|
||||
- en `caption`, la date, le nombre de parties et le niveau ;
|
||||
- à droite, le taux d'erreur du match ; pour un match en cours,
|
||||
« Reprendre » en brique ;
|
||||
- la ligne ouvre le bilan du match (le match en cours, s'il n'est pas
|
||||
fini). Les parties libres gardent leur ligne.
|
||||
- **Courbe de la progression** : inchangée, un point par partie, y compris
|
||||
les parties de match.
|
||||
|
||||
### Paysage
|
||||
|
||||
Deux colonnes : à gauche, l'en-tête, la courbe et « Partie par partie » ; à
|
||||
droite, le jeu, le videau, le moment décisif et la décision à revoir. La
|
||||
barre d'actions reste en bas de la colonne de droite.
|
||||
|
||||
@@ -5,7 +5,7 @@ Ce système s'applique à la PWA (`web/`). Les noms des couleurs du plateau sont
|
||||
## Contenus et ton
|
||||
|
||||
- **Vouvoiement**, phrases courtes, verbes d'action. Le joueur est « vous », l'adversaire est « l'ordinateur » (ou le nom d'un joueur réel).
|
||||
- **Les mots du jeu**, toujours les mêmes, ceux du glossaire (`docs/glossaire/`) : flèche, pion, barre, videau, compte de points, sortir. Un terme technique s'explique la première fois qu'il apparaît, avec un lien vers sa fiche.
|
||||
- **Les mots du jeu**, toujours les mêmes, ceux du glossaire (`docs/glossaire/`) : flèche, pion, barre, videau, compte de points, sortir. Une flèche (le triangle) s’appelle toujours « flèche », jamais « case » ; un « point » est une flèche tenue par au moins deux pions du même joueur. Un terme technique s'explique la première fois qu'il apparaît, avec un lien vers sa fiche.
|
||||
- **Les boutons disent ce qu'ils font** : « Lancer les dés », « Annuler », « Doubler », « Prendre », « Passer », « Nouvelle partie ». Pas de « OK », pas de « Valider ». Les textes de l'app vivent dans `app/src/ui/texts.ts`.
|
||||
- **Le maître encourage, il ne juge pas.** « Bien joué : ce coup protège votre point 8. » plutôt que « Coup correct (−0,012) ». Les chiffres d'équité ne viennent que sur demande.
|
||||
- **Les erreurs disent quoi faire** : « Ce pion ne peut pas aller là : la flèche est tenue par deux pions adverses. »
|
||||
@@ -18,7 +18,7 @@ La palette, c'est le bois, les pions et le café, avec **un seul accent : le rou
|
||||
|
||||
- Fond de page `background`, cartes et panneaux `surface`, zones en retrait `surface-sunken`.
|
||||
- Texte `text` ; texte secondaire `muted`, jamais pour une consigne.
|
||||
- `accent` est rare et a toujours un sens : le bouton principal de l'écran (un seul), un lien, le pion sélectionné (`highlight`), la case où il peut aller (`target`), le focus clavier (`focus`). Ce n'est jamais une couleur de décoration ni une couleur d'erreur.
|
||||
- `accent` est rare et a toujours un sens : le bouton principal de l'écran (un seul), un lien, le pion sélectionné (`highlight`), la flèche où il peut aller (`target`), le focus clavier (`focus`). Ce n'est jamais une couleur de décoration ni une couleur d'erreur.
|
||||
- `accent-soft` : fond léger pour signaler « c'est à vous », avec du texte `text` dessus.
|
||||
- Les appréciations de coups ont leurs propres couleurs, distinctes de la brique : `verdict-good` (vert), `verdict-doubtful` (ocre), `verdict-bad` (lie-de-vin). **Toujours avec le mot et l'icône**, jamais la couleur seule.
|
||||
- `brand-laiton` (via `last-move`) marque le dernier coup joué, comme les charnières en laiton d'un plateau de tavla. Rien d'autre.
|
||||
|
||||
@@ -49,7 +49,7 @@ Chaque action a son raccourci, affiché sur le bouton en petite touche (`kbd`) q
|
||||
| --- | --- |
|
||||
| `Espace` | Lancer les dés ; jouer le coup quand il est complet ; passer quand aucun coup n'est possible |
|
||||
| `←` `→` | Choisir un pion jouable (le focus se voit : anneau `focus`) |
|
||||
| `↑` `↓` | Choisir sa case d'arrivée |
|
||||
| `↑` `↓` | Choisir sa flèche d'arrivée |
|
||||
| `Entrée` | Poser le pion |
|
||||
| `Z` | Annuler le demi-coup (aussi `Ctrl+Z`) |
|
||||
| `D` | Doubler |
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
# Analyse d'un match entier
|
||||
|
||||
- **Date** : 2026-11-12
|
||||
- **Étape** : 1 (demande de Pierre)
|
||||
- **Statut** : prévu (après le 2e lot de retours des joueurs, et une fois les maquettes de la session « identité » disponibles)
|
||||
- **Exécutant** : sous-agent general-purpose, dans un worktree
|
||||
|
||||
## Objectif
|
||||
|
||||
Demande de Pierre du 2026-11-12 : « proposer une analyse complète du match, notamment pour l'utilisation du videau (pas que l'analyse d'une manche) ». Il cite son propre exemple : mené 4-0 après deux parties, il a gagné le match en 5 points trois parties plus tard.
|
||||
|
||||
Aujourd'hui, chaque partie d'un match a son bilan et son analyse (1e), mais rien ne montre le match dans son ensemble.
|
||||
|
||||
## Consignes
|
||||
|
||||
Respecter les ADR 0007, 0008, 0011 et 0013. Suivre les règles et maquettes de la session « identité ».
|
||||
|
||||
1. **Bilan du match.** Une adresse (par exemple `#/matchs/<id>/bilan`) donne :
|
||||
- le résultat et le déroulé du score, partie par partie ;
|
||||
- le taux d'erreur du joueur sur tout le match, à la manière de gnubg (statistiques du match) ;
|
||||
- les erreurs de videau regroupées : doubles manqués, mauvais doubles, prises et refus fautifs ;
|
||||
- le moment décisif ;
|
||||
- « le coup à revoir » du match.
|
||||
2. **Courbe du match.** Elle suit les chances de gagner le match (MWC, tables d'équité de match du moteur) à travers toutes les parties, et non les chances de gagner la partie. Toucher un point ouvre la décision.
|
||||
3. **Données.**
|
||||
- Réutiliser les analyses déjà rangées dans les journaux de chaque partie (`review`).
|
||||
- Relier les parties d'un même match. Aujourd'hui, une partie = un journal (choix de 1c). Il faut un identifiant de match commun, avec un format durable et une migration testée. Les matchs déjà joués sont rattachés si c'est possible, sinon on le dit honnêtement.
|
||||
- Les équités de match viennent du moteur. Le domaine ne fait aucun calcul de table d'équité.
|
||||
4. **Accès.** Depuis le bilan de la dernière partie d'un match, « Voir l'analyse du match ». Depuis « Mes parties » et la progression, le match apparaît comme une entrée.
|
||||
5. **Prompt.** Un gabarit « bilan de mon match », avec un bouton « Demander à une IA » (1f).
|
||||
6. **Export SGF.** Exporter le match entier : MI et toutes les parties.
|
||||
7. **Tests.** Scénario Gherkin d'un match en 5 points avec dés imposés, où le joueur remonte après avoir été mené. Tests unitaires de l'agrégation, référence MWC comparée à gnubg de bureau.
|
||||
|
||||
Tests : `make lint`, `make test`, `make test-browser`, captures pour la recette design.
|
||||
|
||||
## Critères de réussite
|
||||
|
||||
Sur un match joué jusqu'au bout, le bilan du match reprend les erreurs de videau de toutes les parties, et la courbe des chances de gagner le match est continue d'une partie à l'autre. Les trois commandes passent.
|
||||
|
||||
## Résultat
|
||||
|
||||
À remplir à la clôture.
|
||||
@@ -0,0 +1,53 @@
|
||||
# Retours des joueurs, 2e lot : Crawford sur la barre, abandon
|
||||
|
||||
- **Date** : 2026-11-12
|
||||
- **Étape** : 1 (retours des joueurs relayés par Pierre)
|
||||
- **Statut** : prévu (après 1h et 1i, et les maquettes de la session « identité »)
|
||||
- **Exécutant** : sous-agent general-purpose, dans un worktree
|
||||
|
||||
## Objectif
|
||||
|
||||
Deux retours de joueurs relayés par Pierre le 2026-11-12 :
|
||||
- « il serait bien que le Crawford soit en évidence sur la barre plutôt » ;
|
||||
- « possibilité de pouvoir abandonner (un petit drapeau ?) si on sait qu'on va perdre, et pouvoir proposer simple, gammon, backgammon sans que l'ordinateur ne se fasse arnaquer (il refuse un simple si on sait qu'il y aura gammon par exemple) ».
|
||||
|
||||
## Consignes
|
||||
|
||||
Respecter les ADR 0005, 0007, 0008, 0011 et 0013. Suivre les règles et les maquettes de la session « identité », qui seront ajoutées dans `docs/identite/charte/`.
|
||||
|
||||
1. **Crawford sur la barre.** L'indication de la partie Crawford est placée sur la barre du plateau, en portrait et en paysage, à l'endroit fixé par la charte.
|
||||
|
||||
2. **Abandon, côté moteur.**
|
||||
- La décision d'accepter ou de refuser un abandon (simple, gammon ou backgammon) reprend le code de GNU Backgammon de bureau qui répond à un abandon proposé par l'humain : évaluation de la position, équité de l'abandon (`getResignation`, `getResignEquity` ou leurs équivalents dans gnubg 1.08.003), comparaison à l'équité de la partie continuée. Les sources sont citées fichier et ligne.
|
||||
- Ces fichiers ne sont pas dans la copie : porter le code dans `engine.c`, comme pour la chance en 1a, sans modifier `engine/gnubg/`.
|
||||
- Exposer la décision par `engine.h`, `engine-cli` et l'adaptateur.
|
||||
- Ajouter des positions de référence comparées à gnubg de bureau (Docker), avec au moins :
|
||||
- un simple refusé parce que le gammon est probable ;
|
||||
- un simple accepté ;
|
||||
- un gammon accepté ;
|
||||
- un cas de match.
|
||||
|
||||
3. **Abandon, côté domaine.**
|
||||
- Un événement d'abandon, proposé puis accepté ou refusé, rétrocompatible : migration testée (ADR 0007).
|
||||
- Fin de partie avec les points selon la valeur de l'abandon et le videau.
|
||||
- Prise en compte dans le match (score, Crawford), le bilan, la progression et l'export SGF (convention de gnubg pour l'abandon).
|
||||
|
||||
4. **Abandon, côté interface.**
|
||||
- Le drapeau, la feuille de choix et la réponse de l'ordinateur, selon la charte.
|
||||
- Messages dans le ton du maître, ajoutés à `docs/maitre/phrases.md` ou à une source sœur.
|
||||
|
||||
5. **Aide et glossaire.**
|
||||
- Fiche « Abandon » (resign).
|
||||
- Scénarios Gherkin avec dés imposés : abandon accepté, abandon refusé, abandon en match.
|
||||
|
||||
Tests : `make lint`, `make test`, `make test-browser` (suite complète), avec captures pour la recette design.
|
||||
|
||||
## Critères de réussite
|
||||
|
||||
- Sur une position de référence où le gammon est probable, un abandon simple est refusé, comme dans gnubg de bureau.
|
||||
- Un abandon accepté termine la partie avec les bons points.
|
||||
- Les trois commandes passent.
|
||||
|
||||
## Résultat
|
||||
|
||||
À remplir à la clôture.
|
||||
Reference in New Issue
Block a user