====== Interface tactile (jouer sur smartphone) ======
//Le lecteur de Donjon FI propose une **interface tactile** qui permet de jouer sans clavier, par exemple sur un smartphone ou une tablette.//
===== Fonctionnement pour le joueur =====
* Les **éléments du jeu** visibles (objets du lieu, objets de l’inventaire) et les **sorties** mentionnés dans le texte deviennent des **liens cliquables** (soulignés en pointillé).
* Un appui sur un **objet** ouvre un menu listant les **actions applicables**. Le menu affiche d’abord les **actions courantes** (//examiner//, //prendre//, …), puis un bouton **Plus d’actions…** révèle les **actions complémentaires**, et enfin **Toutes les actions**. Un appui sur une action l’exécute immédiatement, comme si la commande avait été tapée au clavier.
* Un appui sur un verbe affiche les **variantes** de cette action sous forme de commandes complètes, incluant l’objet choisi et le **dernier objet mentionné** dans la partie (//ouvrir le coffre//, //ouvrir le coffre avec la clé//, //ouvrir le coffre avec …//). Les boutons terminés par « … » permettent de choisir un autre complément. S’il n’y a qu’une forme possible, elle est exécutée immédiatement.
* Si l’action attend un **second complément** (//donner … à …//, //ouvrir … avec …//), le menu propose ensuite les éléments possibles — les derniers éléments mentionnés ou manipulés d’abord, puis ceux présents dans le lieu ou dans l’inventaire — puis affiche un **aperçu de la commande** avant de l’envoyer.
* Un appui sur une **sortie** (//nord//, //est//, mais aussi //monter//, //descendre//, //entrer//, //sortir//) ouvre un menu d’actions pour cette direction (par défaut **aller** et **regarder**, personnalisable comme pour les éléments : « Les actions principales pour les directions sont … »). Les actions de simple observation (//regarder//, //examiner//) ne sont proposées que si la direction a quelque chose à montrer, c’est-à-dire si le lieu de destination possède un **aperçu** ; sinon seules les actions qui mènent quelque part (//aller//) sont affichées.
* Les **échos de commande** (//> examiner l’avion//) sont eux aussi enrichis : l’objet cité reste cliquable pour interagir à nouveau avec lui.
* Une **barre de boutons** remplace le champ de saisie : **👁 Regarder**, **🎒 Inventaire**, et **⚡ Actions…** qui ouvre le **constructeur de commande** : les **5 dernières actions utilisées**, puis toutes les actions lançables par **ordre alphabétique**, un bouton par infinitif (les actions sans complément s’exécutent directement, les autres enchaînent sur le choix des variantes puis des compléments). Un bouton **⌨ Taper une commande…** y permet de saisir une commande complète au clavier, au cas où.
* Lors d’un **choix** (instruction //attendre choix//), les propositions sont affichées sous forme de boutons. Un tap sur le texte remplace « appuyez sur une touche ».
* Le bouton **⌨ / 👆** (à côté du réglage des marges) permet de basculer à tout moment entre l’interface clavier et l’interface tactile.
ℹ️ L’interface tactile s’active automatiquement sur les appareils tactiles. Le champ de saisie réapparaît automatiquement quand une saisie libre est attendue (//attendre choix libre//, question posée par le moteur).
===== Ce que ça change pour l’auteur =====
Rien à déclarer dans le scénario : l’interface tactile fonctionne automatiquement avec tous les jeux existants. Vous pouvez toutefois la personnaliser (voir ci-dessous) ou la désactiver.
Quelques points d’attention pour que vos jeux soient agréables à jouer au doigt :
* Les liens sont créés en reconnaissant dans le texte **l’intitulé déclaré** des éléments (nom + épithète éventuelle). Utilisez donc le même nom dans vos descriptions que dans vos définitions : si vous déclarez //la clé rouillée// mais écrivez « un vieux passe-partout » dans la description, aucun lien ne sera créé pour cet objet.
* Les actions proposées dans le menu sont déduites des **actions du jeu** (de base et personnalisées) applicables à l’élément selon sa classe et ses états. Vos [[reference:routines:action:start|actions personnalisées]] y apparaissent automatiquement. Une action définie pour un **élément précis** (//ceci est le fauteuil//) est même proposée d’office dans ses actions **complémentaires** (sauf si vous l’avez classée vous-même, voir ci-dessous).
* Une action dont le complément est un **texte libre** (//ceci est un intitulé//, par exemple //taper// suivi d’un code) est proposée dans le **constructeur de commande** (bouton ⚡) avec un champ de saisie pour le complément.
* Les commandes générées passent par le moteur exactement comme une commande tapée : les [[reference:routines:regle:start|règles]] et refus s’appliquent normalement.
⚠️ L’interface tactile est désactivée pendant le replay d’un enregistrement ([[reference:debogage:magneto|magnétoscope]]).
===== Actions courantes et complémentaires =====
Les actions affichées en premier dans le menu se définissent pour une **classe d’éléments** (éventuellement restreinte à un **état**) ou pour un **élément précis**. Les **actions courantes** s’affichent directement, les **actions complémentaires** sous le bouton « Plus d’actions… ». Les listes ne contiennent que des **infinitifs** (jamais de préposition) :
Les actions courantes pour les objets sont examiner et prendre.
Les actions complémentaires pour les personnes sont montrer et donner.
Les actions courantes du bandit sont attaquer et parler.
L’action courante pour les lieux est regarder.
Les actions courantes pour les objets ouvrables sont ouvrir et fermer.
La déclaration la plus précise gagne, par **héritage** : élément, puis classe + état, puis classe de l’élément, puis classes parentes, puis défauts du moteur. Une déclaration « classe + état » (//les objets ouvrables//) ne s’applique qu’aux éléments possédant cet état.
La cible peut s’écrire au **pluriel** (//les objets verrouillés//) ou au **singulier** (//un objet verrouillé//), au choix — c’est la même règle :
Les actions courantes pour les objets verrouillés sont déverrouiller et examiner.
Les actions complémentaires pour un lieu visité sont penser et se souvenir.
ℹ️ Sans déclaration dans le scénario, le moteur applique des défauts : //objets// → examiner, prendre ; //personnes// → parler, montrer, donner ; //portes// et //objets ouvrables// → + ouvrir, fermer ; //directions// → aller, regarder.
Pour **compléter** la liste héritée au lieu de la remplacer, en **définition** (une définition peut commencer par le nom de la cible) :
Les portes ont aussi ouvrir et fermer comme actions courantes.
Le bandit a aussi insulter comme action courante.
ℹ️ Une **instruction** (dans une action ou une règle) doit toujours commencer par un **verbe** : on préfixe alors par //changer//, ou on utilise //ajouter … aux actions …// :
changer le bandit a aussi insulter comme action courante.
ajouter insulter aux actions courantes du bandit.
Pour **remplacer** une liste en cours de partie (instruction) :
changer les actions courantes du bandit sont attaquer et fuir.
ℹ️ Les anciens mots-clés //principales// et //secondaires//, ainsi que la forme //supplémentaires//, restent acceptés (synonymes dépréciés de //courantes//, //complémentaires// et de « a aussi … »).
ℹ️ Un infinitif qui ne correspond à aucune action du jeu n’est simplement pas proposé dans le menu ; un conseil est affiché dans l’éditeur pour le signaler.
===== Masquer une action technique =====
Vous utilisez parfois des actions **techniques** (mise au point, déclenchement interne) qui ne sont pas destinées au joueur. Vous pouvez les **masquer** : elles disparaissent alors de **toutes** les propositions — le menu tactile (y compris « Toutes les actions ») et les suggestions du correcteur automatique (« vouliez-vous dire… ? »). Une action masquée reste néanmoins **exécutable** si elle est tapée exactement ou déclenchée par une règle : on la cache, on ne la désactive pas.
Les actions masquées sont recalibrer et réinitialiser.
L’action recalibrer est masquée.
Le masquage est **global** (pas de cible : on ne masque pas une action « pour les objets ») et il **prime** sur une déclaration //action courante/complémentaire// du même verbe.
ℹ️ Masquer un infinitif qui ne correspond à aucune action du jeu affiche un conseil dans l’éditeur (pas une erreur).
===== Désactiver le mode mobile =====
Pour désactiver l’interface tactile pour un jeu (elle est active par défaut sur les appareils tactiles) :
Désactiver le mode mobile.
{{tag>interface_tactile tactile mobile smartphone tablette doigt clic cliquable mode_mobile actions_courantes actions_complementaires actions_principales actions_secondaires actions_masquees actions_techniques sorties constructeur_de_commande sans_clavier}}