New syntax to declare flag dependency
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
nemunaire 2022-11-02 22:31:05 +01:00
parent 03326349d5
commit a67e81b66a

View File

@ -86,6 +86,7 @@ Voici un aperçu des propriétés disponibles :
* `unit = "°C"` : (facultatif) chaîne de caractères accolée à la fin du champ de texte, idéale pour préciser l'unité liée au contenu demandé ; * `unit = "°C"` : (facultatif) chaîne de caractères accolée à la fin du champ de texte, idéale pour préciser l'unité liée au contenu demandé ;
* `choices_cost = 42` : (facultatif) coût pour afficher les choix : avant l'affichage, se comporte comme un drapeau `key` classique (à 0, les choix sont affichés directement) * `choices_cost = 42` : (facultatif) coût pour afficher les choix : avant l'affichage, se comporte comme un drapeau `key` classique (à 0, les choix sont affichés directement)
* `noshuffle = true` : (facultatif, par défaut `false`) conserve l'ordre des propositions, au lieu de les mélanger ; * `noshuffle = true` : (facultatif, par défaut `false`) conserve l'ordre des propositions, au lieu de les mélanger ;
* `need_flags = [1, 2, 3]` : (facultatif) indique les identifiants des flags qui doivent être validés pour débloquer ce flag ;
* `[[flag.choice]]` : représente un choix, répétez autant de fois qu'il y a de choix (pour les `mcq` et `ucq`) : * `[[flag.choice]]` : représente un choix, répétez autant de fois qu'il y a de choix (pour les `mcq` et `ucq`) :
+ `label = "Intitulé de la réponse"` (facultatif, par défaut `raw`), + `label = "Intitulé de la réponse"` (facultatif, par défaut `raw`),
+ `value = true` (facultatif, par défaut `false`, sauf si `raw` est précisé) : valeur attendue pour ce choix, + `value = true` (facultatif, par défaut `false`, sauf si `raw` est précisé) : valeur attendue pour ce choix,
@ -98,11 +99,21 @@ Voici un aperçu des propriétés disponibles :
Un flag peut avoir une dépendance sur l'état de validation d'un ou plusieurs autres flags. Un flag peut avoir une dépendance sur l'état de validation d'un ou plusieurs autres flags.
Il convient de déclarer la dépendance au sein du `[[flag]]` qui porte la dépendance. Il convient de déclarer la dépendance au sein du `[[flag]]` qui porte la dépendance. Soit :
- `[[flag]]`
* `[[flag.need_flag]]` : liste des flags devant être validés avant de débloquer celui-ci : * `[[flag.need_flag]]` : liste des flags devant être validés avant de débloquer celui-ci :
+ `id = 23` : identifiant du flag tel qu'il a été défini plus tôt dans le fichier ; + `id = 23` : identifiant du flag tel qu'il a été défini plus tôt dans le fichier.
Ou bien simplement en ajoutant un attribut au flag :
```
[[flag]]
id = 42
...
need_flags = [ 1, 2, 3 ]
```
Dans ce dernier exemple, le flag ne sera visible au participant qu'après qu'il ait validé les flags d'identifiant 1, 2 et 3.
## Débloquage de fichier ## Débloquage de fichier
@ -111,9 +122,8 @@ Un fichier peut n'être dévoilé qu'après qu'un flag ait été validé.
Il convient de déclarer le débloquage au sein du `[[flag]]` qui, une fois validé, débloquera le-dit fichier. Il convient de déclarer le débloquage au sein du `[[flag]]` qui, une fois validé, débloquera le-dit fichier.
- `[[flag]]`
* `[[flag.unlock_file]]` : bloque l'accès à un fichier tant que le flag n'est pas obtenu : * `[[flag.unlock_file]]` : bloque l'accès à un fichier tant que le flag n'est pas obtenu :
+ `filename = "toto.txt"` : nom du fichier tel qu'il apparaît dans le dossier `files` ; + `filename = "toto.txt"` : nom du fichier tel qu'il apparaît dans le dossier `files`.
## Les indices ## Les indices