Fusion de la MR !44 : accueil, tutoriel des règles, aide en questions, installation et mise à jour (0e.5)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit was merged in pull request #44.
This commit is contained in:
@@ -85,3 +85,16 @@ unique pour tous les écrans, avant sa première mise en œuvre.
|
||||
- Une adresse inconnue mène à la partie en cours avec un message clair.
|
||||
- L'adresse de l'écran courant est la source de vérité de la navigation :
|
||||
l'application l'écoute (`hashchange`) et dessine l'écran correspondant.
|
||||
|
||||
### 2026-11-09 — Adresses du tutoriel et de l'installation
|
||||
|
||||
Ajoutées avec l'accueil et le tutoriel (étape 0e.5), dans le même schéma :
|
||||
|
||||
| Écran | Adresse |
|
||||
| --- | --- |
|
||||
| Écran « à vous » d'une étape du tutoriel | `#/tutoriel/<n>/a-vous` |
|
||||
| Fin du tutoriel | `#/tutoriel/fin` |
|
||||
| Marche à suivre pour installer l'application | `#/installer` |
|
||||
|
||||
Lancée sans adresse, l'application ouvre l'accueil (`#/accueil`) ; `#/` reste
|
||||
la partie en cours, pour que les liens existants ne changent pas.
|
||||
|
||||
@@ -23,7 +23,6 @@ Demandes de Pierre du 2026-11-03, traitées avant d'ouvrir l'étape 1.
|
||||
|
||||
| Sous-étape | Contenu | État | Plan |
|
||||
| --- | --- | --- | --- |
|
||||
| 0e.5 | Page d'accueil, mise à jour de l'app en un toucher, installation en un toucher (« Ajouter à l'écran d'accueil », proposée par l'app), tutoriel des règles très didactique avec plateaux illustrés, aide réécrite sur un ton plus humain ; textes à valider par Pierre | ⏳ | `plans/2026-11-03-accueil-tutoriel-aide.md` |
|
||||
|
||||
## Étapes suivantes
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ exportée. `make test` vérifie le lien dans les deux sens : chaque fiche avec
|
||||
| [Barre](barre.md) | Bar |
|
||||
| [Blot](blot.md) | Blot |
|
||||
| [Branche](branche.md) | Branch |
|
||||
| [Camp](camp.md) | Home board |
|
||||
| [Chance](chance.md) | Luck |
|
||||
| [Compte de points](compte-de-points.md) | Pip count |
|
||||
| [Coup](coup.md) | Move |
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
term: Camp
|
||||
english: Home board
|
||||
---
|
||||
# Camp
|
||||
|
||||
**En bref** : les six dernières flèches d'un joueur, avant sa sortie : il y rassemble ses pions pour les sortir, et un pion adverse frappé doit y rentrer.
|
||||
|
||||
Votre camp est en bas à droite (vos flèches 1 à 6) ; celui de l'ordinateur,
|
||||
en haut à droite (vos flèches 19 à 24), où rentrent vos pions frappés.
|
||||
|
||||
Voir aussi : [Sortie](sortie.md), [Barre](barre.md), [Point](point.md)
|
||||
@@ -1,76 +0,0 @@
|
||||
# Accueil, installation, tutoriel des règles, aide (0e.5)
|
||||
|
||||
- **Date** : 2026-11-03
|
||||
- **Étape** : 0e.5 (feuille de route), qui couvre aussi le tutoriel de 1g
|
||||
- **Statut** : prévu (après la fusion de 0e.4)
|
||||
- **Exécutant** : sous-agent general-purpose, dans un worktree
|
||||
|
||||
## Objectif
|
||||
|
||||
Traiter les points 2 et 3 du message de Pierre du 2026-11-03 et sa demande d'installation en un toucher :
|
||||
- une page d'accueil ;
|
||||
- l'installation proposée par l'app ;
|
||||
- un tutoriel des règles très didactique, illustré par le plateau ;
|
||||
- une aide plus humaine.
|
||||
|
||||
## Références
|
||||
|
||||
- Règles : `docs/identite/charte/accueil-tutoriel-aide.md`. Le texte du tutoriel y figure en première version, à faire valider par Pierre.
|
||||
- Maquettes : https://claude.ai/artifact/CQw6vbDpi6XQqVWQa4sANe, rangée « Étape 0e.5 » et artboard « Accueil ».
|
||||
- ADR 0008 (source unique), ADR 0013 (positions par identifiants gnubg).
|
||||
|
||||
## Consignes
|
||||
|
||||
1. **Accueil**, selon la charte :
|
||||
- au premier lancement, et une seule fois, le choix entre « Je découvre » et « Je connais les règles » ;
|
||||
- ensuite : la partie en cours, la carte d'installation, la prochaine leçon et la progression résumée. La leçon et la progression restent en attente tant que 1g et 1h n'existent pas : n'afficher que ce qui existe.
|
||||
2. **Installation** :
|
||||
- sous Chrome, garder l'invite reçue avec `beforeinstallprompt` ;
|
||||
- sous Firefox et sur iPhone, une feuille en 3 étapes ;
|
||||
- la carte n'apparaît qu'à partir de la première partie terminée. « Plus tard » la masque, et elle ne revient qu'une fois, après 3 parties. Le menu garde une ligne tant que l'app n'est pas installée ;
|
||||
- plus rien en `display-mode: standalone` ni après l'événement `appinstalled`.
|
||||
3. **Tutoriel**, en 8 étapes :
|
||||
- le texte vit dans un fichier source unique sous `docs/` (par exemple `docs/tutoriel/`), copié dans le site par `make site` comme le glossaire, sous licence CC BY-SA 4.0 ;
|
||||
- positions données par leurs identifiants gnubg ;
|
||||
- sur les écrans « à vous », le moteur vérifie le coup joué en le comparant aux coups attendus de l'étape ;
|
||||
- le coup illustré se joue seul après 1 s, avec « Revoir » ;
|
||||
- un test vérifie que chaque position du tutoriel est valide pour le moteur et que chaque coup attendu est légal ;
|
||||
- ajouter la fiche du glossaire « camp ».
|
||||
4. **Aide**, en trois onglets :
|
||||
- « Jouer » : les scénarios deviennent des questions repliables. Le titre est la question et la description la réponse ; les étapes Gherkin sont cachées. Reformuler les titres des `.feature` sans casser les tests ;
|
||||
- « Les mots du jeu » : les cartes du glossaire, avec une recherche ;
|
||||
- « À propos » : licence, crédits, version ;
|
||||
- le tutoriel est proposé en tête de l'aide.
|
||||
5. **Mise à jour de l'application** (demande de Pierre du 2026-11-09). Quand
|
||||
le service worker trouve une nouvelle version, l'app affiche un bandeau
|
||||
discret « Nouvelle version disponible » avec « Mettre à jour », jamais
|
||||
pendant un coup en cours. Toucher le bouton active la nouvelle version
|
||||
(`skipWaiting`, puis rechargement au `controllerchange`), et la partie
|
||||
reprend où elle en était. Le menu propose aussi « Rechercher une mise à
|
||||
jour » (`registration.update()`), qui dit « Vous avez la dernière
|
||||
version » sinon. L'onglet « À propos » affiche la version publiée (le
|
||||
commit de `version.json`). Aujourd'hui, `web/sw.js` appelle
|
||||
`skipWaiting()` dès l'installation et efface l'ancien cache : une page
|
||||
ouverte garde son ancien code et peut ne plus trouver les anciens
|
||||
fichiers. Le nouveau service worker doit attendre l'accord du joueur, sauf
|
||||
à la toute première installation.
|
||||
6. **Scénarios Gherkin** : premier lancement, installation, suivre le tutoriel.
|
||||
7. **`make test-browser`** :
|
||||
- premier lancement, tutoriel complet avec ses écrans « à vous », aide ;
|
||||
- mise à jour : publier deux versions du site de test l'une après
|
||||
l'autre, voir le bandeau, mettre à jour, retrouver la partie ;
|
||||
- `beforeinstallprompt` simulé dans Chromium ;
|
||||
- captures dans `build/browser-shots/accueil-tutoriel/` pour la recette design.
|
||||
|
||||
Chaque écran (accueil, étapes du tutoriel, onglets et questions de l'aide) a son adresse et s'ouvre par un vrai lien, selon l'amendement de l'ADR 0013 ; le routeur vient de 0e.4.
|
||||
|
||||
`make lint`, `make test` et `make test-browser` doivent passer. Aucune nouvelle dépendance.
|
||||
|
||||
## Critères de réussite
|
||||
|
||||
- Un débutant suit le tutoriel jusqu'au bout sur le téléphone, et chaque écran « à vous » accepte le bon coup et refuse les autres.
|
||||
- Les trois commandes passent, et les captures sont livrées pour la recette.
|
||||
|
||||
## Résultat
|
||||
|
||||
À remplir à la clôture.
|
||||
@@ -33,6 +33,15 @@ Fonctionnalité: <la tâche>
|
||||
Et <autre constat>
|
||||
```
|
||||
|
||||
Dans l'aide, chaque scénario devient une question repliable : son titre est
|
||||
la question, formulée comme le joueur se la pose (« Comment jouer un
|
||||
coup ? ») ; le paragraphe sous le titre est la réponse, qui doit se lire
|
||||
seule ; les étapes ne s'affichent pas. Une étiquette
|
||||
`@position:<Position ID>` au-dessus du scénario ajoute à la réponse le lien
|
||||
« Voir sur le plateau ». L'adresse d'une question (`#/aide/<identifiant>`)
|
||||
est tirée de son titre : changer un titre change son adresse, et les titres
|
||||
cités par `app/src/ui/help-context.ts` sont vérifiés par `make test`.
|
||||
|
||||
Règles d'écriture :
|
||||
|
||||
- la deuxième personne (« vous ») et les mots du glossaire (`docs/glossaire/`) ;
|
||||
@@ -49,4 +58,7 @@ Règles d'écriture :
|
||||
| [jouer-une-partie.feature](jouer-une-partie.feature) | Jouer une partie contre l'ordinateur | Étape 0d |
|
||||
| [mes-parties.feature](mes-parties.feature) | Retrouver mes parties, leurs branches, les exporter en SGF | Étape 1b |
|
||||
| [partager-une-position.feature](partager-une-position.feature) | Ouvrir et partager le lien d'une position | Étape 0e.4 |
|
||||
| [regler-l-application.feature](regler-l-application.feature) | Régler l'application (menu) | Étape 0e |
|
||||
| [regler-l-application.feature](regler-l-application.feature) | Régler l'application (menu), la mettre à jour | Étape 0e |
|
||||
| [decouvrir-l-application.feature](decouvrir-l-application.feature) | Premier lancement et accueil | Étape 0e.5 |
|
||||
| [apprendre-les-regles.feature](apprendre-les-regles.feature) | Apprendre les règles avec le tutoriel | Étape 0e.5 |
|
||||
| [installer-l-application.feature](installer-l-application.feature) | Installer l'application | Étape 0e.5 |
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
# language: fr
|
||||
Fonctionnalité: Apprendre les règles avec le tutoriel
|
||||
|
||||
Le tutoriel explique les règles en huit petites étapes, sur le vrai
|
||||
plateau : les pions bougent pour montrer chaque règle, et une étape sur
|
||||
deux vous fait jouer le geste vous-même. GNU Backgammon vérifie chaque
|
||||
coup, comme en partie.
|
||||
|
||||
Scénario: Comment se passe le tutoriel ?
|
||||
Chaque étape tient en un écran court : un titre, le plateau, deux ou
|
||||
trois phrases. Le coup montré se joue tout seul après une seconde ;
|
||||
« Revoir » le rejoue. La barre du haut montre où vous en êtes et vous
|
||||
ramène aux étapes déjà vues. « Quitter » vous emmène jouer.
|
||||
|
||||
Étant donné que vous commencez le tutoriel
|
||||
Alors il compte huit étapes, dont quatre où c'est à vous de jouer
|
||||
Et chaque position du tutoriel se lit sur le plateau
|
||||
Quand vous arrivez à l'étape 3
|
||||
Alors la barre de progression vous ramène aux étapes 1 et 2, mais pas aux suivantes
|
||||
|
||||
@position:4HPwATDgc/ABMA
|
||||
Scénario: Je joue un autre coup que celui demandé
|
||||
Sur les écrans « à vous », vous jouez sur le vrai plateau. Si votre coup
|
||||
n'est pas celui demandé, le pion revient et une phrase vous dit
|
||||
pourquoi ; réessayez autant que vous voulez. Le bon coup est salué, et
|
||||
« Continuer » vous mène à la suite.
|
||||
|
||||
Étant donné que vous êtes à l'écran « à vous » de l'étape 3
|
||||
Quand vous déplacez un pion de la flèche 24 à la flèche 21
|
||||
Alors le pion revient, et une phrase vous dit pourquoi
|
||||
Quand vous réunissez deux pions sur la flèche 5
|
||||
Alors le tutoriel salue votre coup
|
||||
|
||||
Scénario: Comment répondre au double dans le tutoriel ?
|
||||
À la dernière étape, l'ordinateur vous propose de doubler. Prenez ou
|
||||
passez : le maître vous dit ensuite ce qu'il aurait fait, et pourquoi.
|
||||
|
||||
Étant donné que vous êtes à l'écran « à vous » de l'étape 8
|
||||
Quand vous répondez « Passer »
|
||||
Alors le maître dit qu'il aurait pris
|
||||
Quand vous répondez « Prendre »
|
||||
Alors le tutoriel salue votre réponse
|
||||
@@ -0,0 +1,31 @@
|
||||
# language: fr
|
||||
Fonctionnalité: Découvrir l'application
|
||||
|
||||
À la toute première ouverture, Ustagammon vous demande d'où vous partez,
|
||||
puis s'efface : ensuite, il s'ouvre sur l'accueil, avec votre partie en
|
||||
cours à reprendre d'un toucher.
|
||||
|
||||
@position:4HPwATDgc/ABMA
|
||||
Scénario: Que me propose l'application à la première ouverture ?
|
||||
Deux choix, et c'est tout : « Je découvre » ouvre le tutoriel des règles,
|
||||
« Je connais les règles » lance une partie tout de suite. Ce choix ne
|
||||
revient plus ; le tutoriel reste dans le menu.
|
||||
|
||||
Étant donné que vous ouvrez Ustagammon pour la toute première fois
|
||||
Alors l'accueil vous propose de découvrir les règles ou de jouer tout de suite
|
||||
Quand vous choisissez de découvrir les règles
|
||||
Alors le tutoriel s'ouvre à sa première étape
|
||||
Et ce choix ne vous est plus proposé
|
||||
|
||||
Scénario: Où retrouver ma partie en rouvrant l'application ?
|
||||
L'application s'ouvre sur l'accueil. Votre partie en cours y est, avec
|
||||
son plateau et les comptes de points : « Reprendre la partie » vous y
|
||||
ramène. Sans partie en cours, « Nouvelle partie » en commence une.
|
||||
|
||||
Étant donné que vous avez choisi de jouer tout de suite
|
||||
Et qu'une partie est en cours
|
||||
Quand vous rouvrez Ustagammon
|
||||
Alors l'accueil vous propose de reprendre votre partie
|
||||
Quand la partie se termine
|
||||
Et que vous rouvrez Ustagammon
|
||||
Alors l'accueil vous propose une nouvelle partie
|
||||
@@ -0,0 +1,46 @@
|
||||
# language: fr
|
||||
Fonctionnalité: Installer l'application
|
||||
|
||||
Installé, Ustagammon a son icône sur l'écran d'accueil du téléphone,
|
||||
s'ouvre en plein écran et marche sans réseau. L'application vous le
|
||||
propose au bon moment, une fois, sans jamais interrompre une partie.
|
||||
|
||||
Scénario: Comment installer l'application ?
|
||||
Touchez « Installer » sur l'accueil, ou « Installer l'application » dans
|
||||
le menu. Avec Chrome, le téléphone vous demande de confirmer. Avec
|
||||
Firefox ou sur iPhone, l'application vous montre la marche à suivre, en
|
||||
trois étapes.
|
||||
|
||||
Étant donné que votre navigateur ne propose pas lui-même l'installation
|
||||
Quand vous demandez à installer l'application avec Firefox
|
||||
Alors la marche à suivre compte trois étapes, en commençant par le menu du navigateur
|
||||
Quand vous demandez à installer l'application sur iPhone
|
||||
Alors la marche à suivre compte trois étapes, en commençant par le bouton de partage
|
||||
|
||||
Scénario: Quand l'application me propose-t-elle de l'installer ?
|
||||
Jamais à la première ouverture ni pendant une partie : l'invitation
|
||||
apparaît sur l'accueil après votre première partie terminée. « Plus
|
||||
tard » la masque ; elle revient une seule fois, trois parties plus tard.
|
||||
Le menu garde « Installer l'application » tant qu'elle n'est pas
|
||||
installée.
|
||||
|
||||
Étant donné que vous ouvrez Ustagammon pour la toute première fois
|
||||
Alors l'accueil ne vous propose pas d'installer l'application
|
||||
Quand vous terminez une partie
|
||||
Alors l'accueil vous propose d'installer l'application
|
||||
Quand vous choisissez « Plus tard »
|
||||
Alors l'accueil ne vous propose pas d'installer l'application
|
||||
Mais le menu vous le propose toujours
|
||||
Quand vous terminez 3 parties de plus
|
||||
Alors l'accueil vous propose d'installer l'application
|
||||
Quand vous choisissez « Plus tard »
|
||||
Et que vous terminez 3 parties de plus
|
||||
Alors l'accueil ne vous propose pas d'installer l'application
|
||||
|
||||
Scénario: Et une fois l'application installée ?
|
||||
Une fois Ustagammon installé, plus rien ne vous propose de l'installer.
|
||||
|
||||
Étant donné que vous avez terminé une partie
|
||||
Quand vous installez l'application
|
||||
Alors l'accueil ne vous propose pas d'installer l'application
|
||||
Et le menu non plus
|
||||
@@ -1,16 +1,22 @@
|
||||
# language: fr
|
||||
Fonctionnalité: Jouer une partie contre l'ordinateur
|
||||
|
||||
Vous jouez une partie complète contre l'ordinateur, qui s'appuie sur le
|
||||
moteur GNU Backgammon. L'application tire les dés, n'accepte que les coups
|
||||
Vous jouez une partie complète contre l'ordinateur, qui s'appuie sur
|
||||
GNU Backgammon. L'application tire les dés, n'accepte que les coups
|
||||
permis par les règles, et l'ordinateur joue et décide du videau tout seul.
|
||||
|
||||
Scénario: Commencer une partie
|
||||
@position:4HPwATDgc/ABMA
|
||||
Scénario: Comment commence une partie ?
|
||||
Les pions sont en position de départ. Chaque camp lance un dé : celui
|
||||
qui a le plus fort commence, et joue ces deux dés. En cas d'égalité, on
|
||||
relance.
|
||||
|
||||
Quand vous commencez une nouvelle partie
|
||||
Alors les pions sont en position de départ
|
||||
Et le premier jet de dés désigne qui commence
|
||||
|
||||
Scénario: Jouer un coup permis
|
||||
@position:4HPwATDgc/ABMA
|
||||
Scénario: Comment jouer un coup ?
|
||||
Touchez un pion, puis sa case d'arrivée ; s'il n'en a qu'une, il y va dès
|
||||
que vous le touchez. Chaque dé joué s'estompe. Une fois tous vos dés
|
||||
joués, votre coup attend que vous le validiez : touchez vos dés, d'un côté
|
||||
@@ -24,16 +30,17 @@ Fonctionnalité: Jouer une partie contre l'ordinateur
|
||||
Alors votre coup est accepté
|
||||
Et c'est ensuite au tour de l'ordinateur
|
||||
|
||||
Scénario: Un pion qui n'a qu'une case d'arrivée
|
||||
Après 8/5, il ne vous reste que le 1 : chaque pion jouable n'a plus
|
||||
qu'une case d'arrivée, et il y va dès que vous le touchez.
|
||||
Scénario: Pourquoi mon pion part-il dès que je le touche ?
|
||||
Un pion qui n'a qu'une case d'arrivée possible y va dès que vous le
|
||||
touchez, sans attendre un second toucher. Par exemple, avec 3-1, une fois
|
||||
8/5 joué, il ne vous reste que le 1.
|
||||
|
||||
Étant donné que c'est à vous de jouer avec le jet 3-1
|
||||
Quand vous jouez 8/5
|
||||
Alors seul votre 3 est marqué comme joué
|
||||
Et chacun de vos pions jouables n'a plus qu'une case d'arrivée
|
||||
|
||||
Scénario: Reprendre un pion avant de valider
|
||||
Scénario: Je me suis trompé de pion
|
||||
Tant que vous n'avez pas validé votre coup, « Annuler » reprend le
|
||||
dernier pion déplacé ; touchez-le encore pour reprendre le précédent.
|
||||
|
||||
@@ -45,21 +52,27 @@ Fonctionnalité: Jouer une partie contre l'ordinateur
|
||||
Alors la position n'a pas changé
|
||||
Et aucun de vos dés n'est marqué comme joué
|
||||
|
||||
Scénario: Un coup interdit est refusé
|
||||
La case 12 est tenue par l'ordinateur, qui y a cinq pions : vous ne
|
||||
pouvez pas vous y poser.
|
||||
@position:4HPwATDgc/ABMA
|
||||
Scénario: Pourquoi je ne peux pas poser mon pion sur cette flèche ?
|
||||
Une flèche où l'ordinateur a au moins deux pions est fermée : vous ne
|
||||
pouvez pas vous y poser. Au départ, par exemple, la flèche 12 est tenue
|
||||
par cinq de ses pions.
|
||||
|
||||
Étant donné que c'est à vous de jouer avec le jet 3-1
|
||||
Quand vous essayez de jouer 13/12
|
||||
Alors votre coup est refusé
|
||||
Et la position n'a pas changé
|
||||
|
||||
Scénario: L'ordinateur joue
|
||||
Scénario: Comment joue l'ordinateur ?
|
||||
L'ordinateur lance ses dés et joue le coup que GNU Backgammon, l'un des
|
||||
meilleurs programmes de backgammon, juge le meilleur. Il répond en
|
||||
moins de deux secondes.
|
||||
|
||||
Étant donné que c'est au tour de l'ordinateur
|
||||
Quand ses dés sont tirés
|
||||
Alors il joue le coup recommandé par le moteur en moins de 2 secondes
|
||||
|
||||
Scénario: Aucun coup possible avec votre jet
|
||||
Scénario: Je ne peux rien jouer avec mes dés
|
||||
Il arrive que les dés ne permettent de bouger aucun pion. Votre jet reste
|
||||
affiché, barré, avec un message. L'application ne joue jamais à votre
|
||||
place : le tour ne passe à l'ordinateur que quand vous touchez vos dés
|
||||
@@ -72,7 +85,7 @@ Fonctionnalité: Jouer une partie contre l'ordinateur
|
||||
Quand vous laissez passer votre tour
|
||||
Alors c'est ensuite au tour de l'ordinateur
|
||||
|
||||
Scénario: Voir le coup de l'ordinateur
|
||||
Scénario: Qu'a joué l'ordinateur ?
|
||||
Après chaque coup de l'ordinateur, ses pions glissent un par un sur le
|
||||
plateau. Restent ensuite, jusqu'à votre prochaine action, une flèche par
|
||||
pion déplacé, ses pions arrivés entourés et un pion fantôme là où ils
|
||||
@@ -84,11 +97,13 @@ Fonctionnalité: Jouer une partie contre l'ordinateur
|
||||
Et votre pion frappé part sur la barre
|
||||
Et vous pouvez revoir son coup
|
||||
|
||||
Scénario: Voir le compte de points
|
||||
Au-dessus et au-dessous du plateau, le bandeau de chaque camp donne son
|
||||
compte de points, et « mène de 7 » s'affiche du côté de celui qui mène la
|
||||
course. Touchez un compte pour lire ce qu'il veut dire. En paysage, les
|
||||
comptes sont aux deux bouts de la barre.
|
||||
Scénario: À quoi sert le compte de points ?
|
||||
Le compte de points dit combien de cases vos pions doivent encore
|
||||
parcourir avant de sortir : le plus petit mène la course. Au-dessus et
|
||||
au-dessous du plateau, le bandeau de chaque camp donne son compte, et
|
||||
« mène de 7 » s'affiche du côté de celui qui mène. Touchez un compte pour
|
||||
lire ce qu'il veut dire. En paysage, les comptes sont aux deux bouts de
|
||||
la barre.
|
||||
|
||||
Quand vous commencez une nouvelle partie
|
||||
Alors chaque camp a un compte de points de 167
|
||||
@@ -96,7 +111,7 @@ Fonctionnalité: Jouer une partie contre l'ordinateur
|
||||
Quand vous jouez 13/8 13/11
|
||||
Alors vous menez la course de 7
|
||||
|
||||
Scénario: Doubler, après confirmation
|
||||
Scénario: Comment doubler ?
|
||||
Avant de lancer les dés, vous pouvez doubler en touchant le videau ou
|
||||
« Doubler ». L'application vous demande de confirmer : une fois proposé,
|
||||
un double ne se reprend pas.
|
||||
@@ -109,19 +124,29 @@ Fonctionnalité: Jouer une partie contre l'ordinateur
|
||||
Et que vous confirmez
|
||||
Alors l'ordinateur prend ou passe, comme le recommande le moteur
|
||||
|
||||
Scénario: Prendre le double de l'ordinateur
|
||||
Scénario: L'ordinateur double : que se passe-t-il si je prends ?
|
||||
Si vous prenez, la partie continue et vaut deux fois plus. Le videau
|
||||
passe de votre côté : vous seul pourrez redoubler.
|
||||
|
||||
Étant donné que l'ordinateur vous propose de doubler
|
||||
Quand vous prenez
|
||||
Alors la partie continue à valeur doublée
|
||||
Et le videau est de votre côté : vous seul pourrez redoubler
|
||||
|
||||
Scénario: Passer le double de l'ordinateur
|
||||
Scénario: L'ordinateur double : que se passe-t-il si je passe ?
|
||||
Passer, c'est abandonner la partie tout de suite : vous la perdez à sa
|
||||
valeur d'avant le double.
|
||||
|
||||
Étant donné que l'ordinateur vous propose de doubler
|
||||
Quand vous passez
|
||||
Alors la partie s'arrête
|
||||
Et vous perdez la partie à sa valeur d'avant le double
|
||||
|
||||
Scénario: Finir la partie
|
||||
Scénario: Comment se termine une partie ?
|
||||
La partie s'arrête dès qu'un joueur a sorti tous ses pions. Le panneau de
|
||||
fin dit qui gagne, et combien de points : la valeur du videau, doublée
|
||||
pour un gammon et triplée pour un backgammon, une fois le videau doublé.
|
||||
|
||||
Étant donné qu'un joueur a sorti tous ses pions
|
||||
Alors la partie s'arrête
|
||||
Et le résultat indique le gagnant et les points gagnés
|
||||
|
||||
@@ -7,7 +7,11 @@ Fonctionnalité: Retrouver mes parties
|
||||
une, vous passez d'une branche à l'autre, ou vous l'exportez au format SGF
|
||||
pour l'ouvrir dans GNU Backgammon.
|
||||
|
||||
Scénario: Reprendre une partie parmi plusieurs
|
||||
Scénario: Comment reprendre une autre partie ?
|
||||
Toutes vos parties restent sur le téléphone. Dans « Mes parties », depuis
|
||||
le menu, la dernière jouée vient en premier : « Reprendre » vous ramène à
|
||||
une partie telle que vous l'aviez laissée.
|
||||
|
||||
Étant donné que vous avez joué deux parties, l'une après l'autre
|
||||
Quand vous fermez l'application puis la rouvrez
|
||||
Alors la dernière partie jouée est à l'écran
|
||||
@@ -15,7 +19,7 @@ Fonctionnalité: Retrouver mes parties
|
||||
Quand vous reprenez la première partie
|
||||
Alors elle est à l'écran, telle que vous l'aviez laissée
|
||||
|
||||
Scénario: Rejouer d'ici sans perdre l'original
|
||||
Scénario: Puis-je rejouer un moment de la partie autrement ?
|
||||
Revenez à un moment passé de la partie et jouez autre chose : une
|
||||
nouvelle branche commence là, et la partie d'origine reste entière.
|
||||
|
||||
@@ -28,7 +32,11 @@ Fonctionnalité: Retrouver mes parties
|
||||
Alors vous êtes sur la nouvelle branche
|
||||
Et vous pouvez revenir à la partie d'origine, au coup près
|
||||
|
||||
Scénario: Exporter une partie
|
||||
Scénario: Comment garder une partie dans un fichier ?
|
||||
Dans « Mes parties », « Exporter (SGF) » enregistre la partie dans un
|
||||
fichier que GNU Backgammon sait ouvrir ; les suites rejouées y sont des
|
||||
variantes.
|
||||
|
||||
Étant donné que vous avez joué plusieurs coups
|
||||
Et que vous avez rejoué d'ici une autre suite
|
||||
Quand vous exportez la partie
|
||||
|
||||
@@ -6,7 +6,7 @@ Fonctionnalité: Partager une position
|
||||
question. Le lien contient les deux identifiants de GNU Backgammon, celui
|
||||
de la position et celui du match, et rien d'autre.
|
||||
|
||||
Scénario: Partager la position
|
||||
Scénario: Comment partager une position ?
|
||||
Pendant la partie, « Copier le lien de la position », dans le menu ou à
|
||||
côté du dernier coup de l'ordinateur, copie l'adresse de la position à
|
||||
l'écran. Ouvert ailleurs, le lien montre la même position.
|
||||
@@ -17,7 +17,7 @@ Fonctionnalité: Partager une position
|
||||
Quand vous ouvrez ce lien
|
||||
Alors vous voyez exactement la même position, avec le même videau
|
||||
|
||||
Scénario: Ouvrir un lien vers une position
|
||||
Scénario: On m'a envoyé le lien d'une position
|
||||
Un lien vers une position montre le plateau, sans le rendre jouable :
|
||||
vous y êtes en bas, avec la main. « Jouer à partir d'ici » commence une
|
||||
nouvelle partie contre l'ordinateur depuis cette position, et votre
|
||||
@@ -33,7 +33,7 @@ Fonctionnalité: Partager une position
|
||||
Et le videau est à 2, chez l'ordinateur
|
||||
Et votre partie précédente est toujours enregistrée
|
||||
|
||||
Scénario: Ouvrir un lien abîmé
|
||||
Scénario: Le lien d'une position ne s'ouvre pas
|
||||
Un lien coupé ou mal recopié ne casse rien : un message le dit, et
|
||||
« Retour à ma partie » reste là.
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ Fonctionnalité: Régler l'application
|
||||
l'écran allumé pendant la partie. Rien de ce qu'il contient ne vous pose de
|
||||
question : ce qui se fait se rattrape.
|
||||
|
||||
Scénario: Commencer une nouvelle partie, puis reprendre l'ancienne
|
||||
Scénario: J'ai commencé une nouvelle partie par erreur
|
||||
Une nouvelle partie commence tout de suite, sans question. Pendant 10
|
||||
secondes, le bandeau « Reprendre l'ancienne » vous rend la partie que
|
||||
vous venez de quitter, exactement là où vous l'aviez laissée.
|
||||
@@ -19,7 +19,7 @@ Fonctionnalité: Régler l'application
|
||||
Quand vous reprenez l'ancienne partie
|
||||
Alors vous retrouvez exactement la partie quittée
|
||||
|
||||
Scénario: Couper les vibrations
|
||||
Scénario: Comment couper les vibrations ?
|
||||
Le téléphone vibre brièvement quand votre pion se pose, quand un pion est
|
||||
frappé, quand l'ordinateur vous propose de doubler et à la fin de la
|
||||
partie. Ces vibrations accompagnent toujours ce que montre l'écran ; rien
|
||||
@@ -32,7 +32,7 @@ Fonctionnalité: Régler l'application
|
||||
Et qu'un pion est frappé
|
||||
Alors le téléphone ne vibre pas
|
||||
|
||||
Scénario: Garder l'écran allumé pendant la partie
|
||||
Scénario: Pourquoi l'écran ne se met-il pas en veille ?
|
||||
Pour que le téléphone ne se mette pas en veille pendant que vous
|
||||
réfléchissez, l'écran reste allumé tant qu'une partie est en cours.
|
||||
|
||||
@@ -41,8 +41,27 @@ Fonctionnalité: Régler l'application
|
||||
Quand vous coupez « Écran allumé pendant la partie » dans le menu
|
||||
Alors l'écran peut se mettre en veille comme d'habitude
|
||||
|
||||
Scénario: Choisir le thème
|
||||
Scénario: Comment passer en thème sombre ?
|
||||
Le thème suit d'abord celui du téléphone. Dans le menu, « Thème » passe à
|
||||
clair, puis à sombre, puis revient à automatique.
|
||||
|
||||
Étant donné que vous ouvrez l'application pour la première fois
|
||||
Alors le thème suit celui du téléphone
|
||||
Quand vous changez de thème dans le menu
|
||||
Alors il passe à clair, puis à sombre, puis revient à automatique
|
||||
|
||||
Scénario: Comment mettre l'application à jour ?
|
||||
Dès qu'une nouvelle version d'Ustagammon est publiée, l'application la
|
||||
télécharge d'elle-même, puis affiche en bas de l'écran « Nouvelle
|
||||
version prête. », seulement entre deux tours, jamais pendant que vous
|
||||
jouez un coup. « Mettre à jour » l'installe et vous ramène où vous en
|
||||
étiez. Dans le menu, « Rechercher une mise à
|
||||
jour » vérifie tout de suite s'il y en a une.
|
||||
|
||||
Étant donné qu'une nouvelle version d'Ustagammon est disponible
|
||||
Et que vous avez des dés à jouer
|
||||
Alors l'application ne vous propose pas encore de mettre à jour
|
||||
Quand vous déplacez un pion de votre coup
|
||||
Alors l'application ne vous propose pas encore de mettre à jour
|
||||
Quand vous avez joué votre coup
|
||||
Alors l'application vous propose de mettre à jour
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
# Tutoriel des règles
|
||||
|
||||
Le texte du tutoriel de l'application, en une seule source (ADR 0008) :
|
||||
`regles.md`. `make site` copie ce dossier dans le site publié
|
||||
(`docs/tutoriel/`) ; l'application le lit à l'exécution
|
||||
(`app/src/ui/tutorial-text.ts`), et `make test` vérifie chaque position et
|
||||
chaque coup avec le vrai moteur (`app/tests/tutorial.test.ts`).
|
||||
|
||||
Texte sous licence **CC BY-SA 4.0**. Première version, rédigée par Claude
|
||||
Code d'après la charte (`docs/identite/charte/accueil-tutoriel-aide.md`),
|
||||
**à valider par Pierre**.
|
||||
|
||||
## Format
|
||||
|
||||
Tout ce qui précède la première étape (ce titre, cette notice) n'est pas
|
||||
affiché.
|
||||
|
||||
```markdown
|
||||
## 3. Les dés et les doubles
|
||||
|
||||
- position: 4HPwATDgc/ABMA
|
||||
- jet: 5-2
|
||||
- coup: 13/11 13/8
|
||||
|
||||
Un paragraphe, avec un [mot du glossaire](pion.md) et du **gras**.
|
||||
|
||||
### À vous
|
||||
|
||||
- position: 4HPwATDgc/ABMA
|
||||
- jet: 3-1
|
||||
- attendu: 8/5 6/5
|
||||
- juste: La phrase affichée quand le coup est juste.
|
||||
- refus: La phrase affichée quand le coup est refusé.
|
||||
|
||||
La consigne de l'écran.
|
||||
|
||||
## Fin
|
||||
|
||||
- action: Jouer ma première partie
|
||||
|
||||
Le texte de la fin du tutoriel.
|
||||
```
|
||||
|
||||
- `## <n>. <titre>` commence l'étape *n* (huit au plus, dans l'ordre) ;
|
||||
`### À vous` commence son écran « à vous », facultatif ; `## Fin`, l'écran
|
||||
qui suit la dernière étape.
|
||||
- Les lignes `- clé: valeur` en tête d'écran le décrivent :
|
||||
- `position` : l'identifiant de position de GNU Backgammon (ADR 0013), vu
|
||||
du camp au trait ;
|
||||
- `trait` : `ordinateur` si c'est l'ordinateur qui a la main dans cette
|
||||
position (par défaut, vous) ;
|
||||
- `jet` et `coup` : sur un écran d'explication, le coup illustré, qui se
|
||||
joue tout seul (notation de gnubg) ;
|
||||
- `chemin: oui` : le sens du jeu, dessiné en pointillés sur le plateau ;
|
||||
- `attendu` (une ligne par coup accepté) : sur un écran « à vous », les
|
||||
coups justes, en notation de gnubg, tels que le moteur les écrit ;
|
||||
- `réponse` : `prendre` ou `passer`, pour un écran « à vous » où
|
||||
l'ordinateur double ; le moteur doit donner la même réponse ;
|
||||
- `juste` et `refus` : les phrases qui suivent un geste juste, ou refusé ;
|
||||
- `action` : le libellé du bouton de la fin.
|
||||
- Les autres lignes forment les paragraphes. `[mot](fiche.md)` renvoie à une
|
||||
fiche du glossaire, à la première apparition du mot.
|
||||
|
||||
Aucune règle n'est écrite dans le code : le moteur lit les positions,
|
||||
illustre les coups, juge les coups joués et les décisions de videau.
|
||||
@@ -0,0 +1,128 @@
|
||||
# Les règles du backgammon
|
||||
|
||||
Tutoriel d'Ustagammon, en huit étapes. Texte sous licence CC BY-SA 4.0,
|
||||
validé par Pierre le 9 novembre 2026. Format : voir README.md.
|
||||
|
||||
## 1. Le but du jeu
|
||||
|
||||
- position: 4HPwATDgc/ABMA
|
||||
|
||||
Vous avez quinze [pions](pion.md) ivoire, l'ordinateur quinze pions noyer. Chacun fait faire le tour du [plateau](plateau.md) à ses pions, puis les [sort](sortie.md).
|
||||
|
||||
Le premier qui a sorti tous les siens gagne la [partie](partie.md).
|
||||
|
||||
## 2. Dans quel sens avancer
|
||||
|
||||
- position: 4HPwATDgc/ABMA
|
||||
- chemin: oui
|
||||
|
||||
Vos pions ivoire font le tour du plateau dans le sens des pointillés : ils partent d'en haut à droite, passent à gauche, puis reviennent en bas jusqu'aux **six dernières flèches**, en bas à droite. C'est là que vous les rassemblerez avant de les sortir.
|
||||
|
||||
Les pions noyer de l'ordinateur font le même chemin, en sens inverse.
|
||||
|
||||
## 3. Les dés et les doubles
|
||||
|
||||
- position: 4HPwATDgc/ABMA
|
||||
- jet: 5-2
|
||||
- coup: 13/11 13/8
|
||||
|
||||
Chaque dé déplace un pion d'autant de flèches. Avec 5 et 2, vous jouez un pion de 5 et un pion de 2, ou le même pion de 5 puis de 2.
|
||||
|
||||
Un double se joue quatre fois : avec 4-4, vous avancez quatre fois de 4.
|
||||
|
||||
### À vous
|
||||
|
||||
- position: 4HPwATDgc/ABMA
|
||||
- jet: 3-1
|
||||
- attendu: 8/5 6/5
|
||||
- juste: Deux pions sur la flèche 5 : elle est à vous, l'ordinateur ne peut plus s'y poser.
|
||||
- refus: Ce coup est permis, mais il ne réunit pas deux pions sur la flèche 5. Jouez un pion de la flèche 8 avec le 3, et un de la flèche 6 avec le 1.
|
||||
|
||||
Vous avez 3 et 1. Réunissez deux pions sur la flèche 5 : touchez un pion, puis sa case d'arrivée.
|
||||
|
||||
## 4. Frapper un pion seul
|
||||
|
||||
- position: 4HPwESDgc/ABMA
|
||||
- jet: 4-2
|
||||
- coup: 13/11 13/9*
|
||||
|
||||
Un pion seul sur une flèche s'appelle un [blot](blot.md). Si vous vous posez dessus, vous le frappez : il part sur la [barre](barre.md) et devra refaire tout le chemin.
|
||||
|
||||
Une flèche où l'adversaire a deux pions ou plus est fermée : vous ne pouvez pas vous y poser.
|
||||
|
||||
### À vous
|
||||
|
||||
- position: 4HPwIDDgc/ABMA
|
||||
- jet: 6-1
|
||||
- attendu: 13/7* 8/7
|
||||
- attendu: 13/7*/6
|
||||
- attendu: 13/7* 6/5
|
||||
- attendu: 24/23 13/7*
|
||||
- attendu: 24/18 8/7*
|
||||
- attendu: 8/7* 8/2
|
||||
- juste: Touché : le pion noyer part sur la barre, il devra refaire tout le chemin.
|
||||
- refus: Ce coup ne frappe pas le pion seul de la flèche 7. Un pion qui s'y pose le frappe : celui de la flèche 13 avec le 6, ou celui de la flèche 8 avec le 1.
|
||||
|
||||
Vous avez 6 et 1. Le pion noyer de la flèche 7 est seul : frappez-le.
|
||||
|
||||
## 5. Rentrer depuis la barre
|
||||
|
||||
- position: 4HPwATDgc/ABUA
|
||||
- jet: 4-3
|
||||
- coup: bar/22 13/9
|
||||
|
||||
Votre pion frappé attend sur la barre, au milieu. Avant de jouer quoi que ce soit d'autre, il doit rentrer dans le [camp](camp.md) adverse, en haut à droite.
|
||||
|
||||
Chaque dé indique une flèche d'entrée : avec 3 et 4, la 22 ou la 21. Si les deux flèches sont fermées, votre tour passe.
|
||||
|
||||
## 6. Sortir ses pions
|
||||
|
||||
- position: bHcAANh2dwAAAA
|
||||
- jet: 5-2
|
||||
- coup: 5/off 2/off
|
||||
|
||||
Quand vos quinze pions sont dans les six dernières flèches, vous pouvez commencer à les sortir : un 6 sort un pion de la flèche 6, un 1 un pion de la flèche 1.
|
||||
|
||||
Touchez le pion, puis la sortie à droite.
|
||||
|
||||
### À vous
|
||||
|
||||
- position: bHcAANh2dwAAAA
|
||||
- jet: 6-3
|
||||
- attendu: 6/off 3/off
|
||||
- juste: Deux pions sortis. Plus que treize !
|
||||
- refus: Ce coup est permis, mais il ne sort qu'un pion. Le 6 sort un pion de la flèche 6, le 3 un pion de la flèche 3.
|
||||
|
||||
Vous avez 6 et 3 : sortez deux pions.
|
||||
|
||||
## 7. Gammon et backgammon
|
||||
|
||||
- position: 8J4HBwAFAAAAAA
|
||||
- jet: 2-1
|
||||
- coup: 2/off 1/off
|
||||
|
||||
Une partie gagnée vaut 1 point. Si l'adversaire n'a sorti aucun pion, c'est un [gammon](gammon.md) : 2 points ; s'il lui reste en plus un pion sur la barre ou dans votre camp, c'est un [backgammon](backgammon.md) : 3 points. En partie libre, gammon et backgammon ne comptent que si le videau a été doublé : c'est la [règle de Jacoby](regle-de-jacoby.md).
|
||||
|
||||
## 8. Le videau
|
||||
|
||||
- position: 4HPwATDgc/ABMA
|
||||
|
||||
Le cube aux faces 2, 4, 8, 16, 32 et 64 s'appelle le [videau](videau.md) : il sert à miser. Avant de lancer vos dés, vous pouvez proposer de [doubler](doubler.md) la valeur de la partie.
|
||||
|
||||
L'ordinateur [prend](prendre.md), et la partie continue en valant le double, ou il [passe](passer.md), et vous gagnez tout de suite. Celui qui a pris garde le cube : lui seul pourra redoubler.
|
||||
|
||||
### À vous
|
||||
|
||||
- position: 7O7YAADs7jYAAA
|
||||
- trait: ordinateur
|
||||
- réponse: prendre
|
||||
- juste: Le maître prend aussi. L'ordinateur mène la course, mais vous gagnez encore assez souvent pour que prendre vous coûte moins cher, en moyenne, que passer.
|
||||
- refus: Le maître prendrait. Passer vous coûte un point tout de suite ; en prenant, vous gardez vos chances de gagner, et le videau est chez vous.
|
||||
|
||||
C'est à l'ordinateur de jouer, et il mène la course. Il vous propose de doubler : prenez-vous, ou passez-vous ?
|
||||
|
||||
## Fin
|
||||
|
||||
- action: Jouer ma première partie
|
||||
|
||||
Vous connaissez les règles. Le reste s'apprend en jouant, et le maître vous accompagne.
|
||||
Reference in New Issue
Block a user