1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
%%%
% Enquête
%%%
\setKVdefault[ClesEnquete]{Perso=Qui ?,Objet=Quoi ?,Lieu=Où ?,Largeur=4.5cm}
\newcommand\Enquete[1][]{%
\useKVdefault[ClesEnquete]%
\setKV[ClesEnquete]{#1}%
}
\newcommand\ListePersonnages[1]{%
\setsepchar{§}%
\readlist*\RetiensListePersonnages{#1}%
\setsepchar{,}%
}
\newcommand\ListeObjets[1]{%
\setsepchar{§}%
\readlist*\RetiensListeObjets{#1}%
\setsepchar{,}%
}
\newcommand\ListeLieux[1]{%
\setsepchar{§}%
\readlist*\RetiensListeLieux{#1}%
\setsepchar{,}%
}
\newcommand\ListeQuestions[1]{%
\setsepchar[*]{§*/}%
\readlist*\RetiensListeQuestions{#1}
% On crée la liste des numéros des questions
\xdef\foo{}%
\xintFor* ##1 in {\xintSeq{1}{\RetiensListeQuestionslen}}\do{%
\xdef\foo{\foo ##1,}%
}%
% Mélange des questions
% on crée les 6 premieres solutions.
\MelangeListe{\foo}{\fpeval{\RetiensListePersonnageslen}}%
\readlist*\ListeMelangeePersonnages{\faa}%
\readlist*\ListeRestante{\fii}%\ListeRestante[]
\MelangeListe{\faa}{\fpeval{\RetiensListePersonnageslen-1}}%
\readlist*\ListefuuPerso{\faa}%
% on crée les 6 solutions suivantes.
\xdef\fuuu{}%
\foreachitem\compteur\in\ListeRestante{\xdef\fuuu{\fuuu,\ListeRestante[\compteurcnt]}}%
\MelangeListe{\fuuu}{\fpeval{\RetiensListeObjetslen}}%
\readlist*\ListeMelangeeObjets{\faa}%
\readlist*\ListeRestante{\fii}%
\MelangeListe{\faa}{\fpeval{\RetiensListeObjetslen-1}}%
\readlist*\ListefuuObjets{\faa}%
% on crée les dernieres solutions.
\xdef\fuuu{}%
\foreachitem\compteur\in\ListeRestante{\xdef\fuuu{\fuuu,\ListeRestante[\compteurcnt]}}%
\MelangeListe{\fuuu}{\fpeval{\RetiensListeLieuxlen}}
\readlist*\ListeMelangeeLieux{\faa}%
%% \readlist*\ListeRestante{\fii}%
\MelangeListe{\faa}{\fpeval{\RetiensListeLieuxlen-1}}%
\readlist*\ListefuuLieux{\faa}%
% --------------
% Liste des questions sauvegardees
\xdef\fuu{}%
\foreachitem\compteur\in\ListefuuPerso{\xdef\fuu{\fuu,\ListefuuPerso[\compteurcnt]}}%
\foreachitem\compteur\in\ListefuuObjets{\xdef\fuu{\fuu,\ListefuuObjets[\compteurcnt]}}%
\foreachitem\compteur\in\ListefuuLieux{\xdef\fuu{\fuu,\ListefuuLieux[\compteurcnt]}}%
\ignoreemptyitems\setsepchar{,}%
\MelangeListe{\fuu}{\fpeval{\RetiensListePersonnageslen+\RetiensListeObjetslen+\RetiensListeLieuxlen-3}}%
\readlist*\ListeMelangeeQuestions{\faa}%
\reademptyitems%
}%
\newcommand\AffichageQuestions{%
\begin{enumerate}
\xintFor* ##1 in {\xintSeq{1}{\fpeval{\RetiensListePersonnageslen+\RetiensListeObjetslen+\RetiensListeLieuxlen-3}}}\do{%
\item\xdef\Compteur{\ListeMelangeeQuestions[##1]}\RetiensListeQuestions[\Compteur,1]
}
\end{enumerate}
}
\newcommand\AffichageTableau{%
\begin{tabular}{|>{\PfCTBstrut$\square$~}m{\useKV[ClesEnquete]{Largeur}}|}
\hline
\rowcolor{gray!15}\multicolumn{1}{|c|}{\PfCTBstrut\useKV[ClesEnquete]{Perso}}\\
\hline
\xintFor* ##1 in {\xintSeq{1}{\RetiensListePersonnageslen}}\do{%
\RetiensListePersonnages[##1]\xdef\PfCCompteurMelange{\ListeMelangeePersonnages[##1]} $\star$ \RetiensListeQuestions[\PfCCompteurMelange,2]\\
}
%
\hline
\rowcolor{gray!15}\multicolumn{1}{|c|}{\PfCTBstrut\useKV[ClesEnquete]{Objet}}\\
\hline
\xintFor* ##1 in {\xintSeq{1}{\RetiensListeObjetslen}}\do{%
\RetiensListeObjets[##1]\xdef\PfCCompteurMelange{\ListeMelangeeObjets[##1]} $\star$ \RetiensListeQuestions[\PfCCompteurMelange,2]\\
}
%
\hline
\rowcolor{gray!15}\multicolumn{1}{|c|}{\PfCTBstrut\useKV[ClesEnquete]{Lieu}}\\
\hline
\xintFor* ##1 in {\xintSeq{1}{\RetiensListeLieuxlen}}\do{%
\RetiensListeLieux[##1]\xdef\PfCCompteurMelange{\ListeMelangeeLieux[##1]} $\star$ \RetiensListeQuestions[\PfCCompteurMelange,2]
\\
}
\hline
\end{tabular}
}%
|