\clearpage
\newcommand\Trou[1]{}

\newcommand\MulSimple[2]{%
  \opmul[voperator=bottom,resultstyle=\Trou]{#1}{#2}
}
\section{Labyrinthe}\label{DocLabyrinthe}
\index[cle]{Labyrinthe@\lstinline+\Labyrinthe+}
La commande \lstinline!\Labyrinthe!$^{\text{\faIcon{sync-alt}}}$ permet de construire un \og labyrinthe\fg{} tel que celui-ci :
\begin{center}
  \Labyrinthe[CouleurF=Olive,Passages,Longueur=3,Hauteur=1.5,EcartH=1.5,Colonnes=3,Lignes=2]{\MulSimple{542}{7}/Cornsilk,\MulSimple{992}{8}/white,\MulSimple{265}{8}/white,\MulSimple{109}{8}/white,\MulSimple{411}{8}/white,Arrivée/LightSteelBlue}{\num{2768
    }/\num{2120}/\num{3794}/\num{872}/\num{7936}/\num{3288}/\num{2120}/\num{3282}/\num{109}}
\end{center}

Elle a la forme suivante :

\begin{lstlisting}[escapechar=!,aboveskip=1em,belowskip=0.5em]
  \Labyrinthe[!\sffamily\textlangle clés\textrangle!]{Contenu 1 / !\ttfamily Couleur 1!, Contenu 2 / !\ttfamily Couleur 2!...}{P1 / P2 ...}
\end{lstlisting}
où
\begin{itemize}
\item\textlangle\lstinline!clés!\textrangle{} constituent un ensemble
  d'options pour paramétrer la commande (paramètres optionnels);
\item\lstinline!Contenu 1 / !{\ttfamily Couleur 1}, \lstinline!Contenu 2 / !{\ttfamily Couleur 2}\dots{} sont les paramètres des cases du  labyrinthe {\em lus horizontalement de haut en bas}.
\item \lstinline!P1 / P2...! sont les réponses proposées
  pour que l'élève puisse trouver le bon chemin. Tout comme les cases
  du labyrinthe, elles sont lues {\em    horizontalement de haut en bas}.
\end{itemize}
\begin{center}
  \Labyrinthe[CouleurF=Olive,Passages,Longueur=3,Hauteur=1.5,EcartH=1.5,Colonnes=3,Lignes=2]{%
    \begin{tabular}{c}
      Contenu 1\\Couleur \lstinline!Cornsilk!
    \end{tabular}/Cornsilk,
    \begin{tabular}{c}
      Contenu 2\\Couleur \lstinline!white!
    \end{tabular}/white,
    \MulSimple{265}{8}/white,
    \begin{tabular}{c}
      Contenu 4\\Couleur \lstinline!Crimson!
    \end{tabular}/Crimson,
    \MulSimple{411}{8}/white,Arrivée/LightSteelBlue}{P1/P2/P3/P4/P5/P6/P7/P8/P9}
\end{center}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!Colonnes|mygobble}
  \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!Lignes|mygobble}
  \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!Hauteur|mygobble}
  \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!Longueur|mygobble}
  \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!EcartH|mygobble}
  \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!EcartV|mygobble}
  \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!CouleurF|mygobble}
  \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!Texte|mygobble}
\begin{Key}{Colonnes}{3}
  modifie le nombre de colonnes du labyrinthe.
\end{Key}
\begin{Key}{Lignes}{6}
  modifie le nombre de lignes du labyrinthe.
\end{Key}
\begin{Key}{Hauteur}{2}
  modifie la hauteur des cases du labyrinthe. Elle est donnée en
  centimètre et elle est vue comme une valeur {\em minimale}.
\end{Key}
\begin{Key}{Longueur}{4}
  modifie la longueur des cases du labyrinthe. Elle est donnée en
  centimètre et elle est vue comme une valeur {\em minimale}.
\end{Key}
\begin{Key}{EcartH}{1}
  modifie l'écart horizontal entre deux cases du labyrinthe. Elle est
  donnée en centimètre.
\end{Key}
\begin{Key}{EcartV}{1}
  modifie l'écart vertical entre deux cases du labyrinthe. Elle est
  donnée en centimètre.
\end{Key}
\begin{Key}{CouleurF}{gray!50}
  modifie la couleur des flèches.
\end{Key}
\begin{Key}{Texte}{black}
  modifie la couleur des propositions de réponses.
\end{Key}
\end{tcolorbox}
\begin{tcolorbox}[tikzcle]
    \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!Passages|mygobble}
  \index[cle]{Labyrinthe@\lstinline+\Labyrinthe+!SensImpose|mygobble}
\begin{Key}{Passages}{false}
  affiche (ou pas) les propositions de réponses.
\end{Key}
\begin{Key}{SensImpose}{false}
  permet de choisir le sens des flèches. Dans ce cas, la commande \lstinline!\\Labyrinthe! s'utilisera sous la forme :
\begin{center}
  \sffamily \textcolor{blue}{\backslash Labyrinthe}\textcolor{Orange}{[}\textlangle clés\textrangle!\textcolor{Orange}{]}\textcolor{chocolate}{\{}Contenu 1 / Couleur 1, Contenu 2 / Couleur 2...\textcolor{chocolate}{\}\{}P1 / S1, P2 / S2, ...\textcolor{chocolate}{\}}
\end{center}
où
\begin{itemize}
\item \lstinline!S1, S2...! seront les sens de parcours des flèches et positionnés à :
  \begin{itemize}
  \item 0 pour ne pas indiquer de flèches;
  \item 1 pour le sens direct;
  \item 2 pour le sens indirect;
  \item 3 pour la bi-direction.
  \end{itemize}
\end{itemize}
\end{Key}
\end{tcolorbox}
\begin{Codes}[listing only]{}{}
% À définir avant.
\newcommand\Trou[1]{}
\newcommand\MulSimple[2]{%
  \opmul[voperator=bottom,resultstyle=\Trou]{#1}{#2}
}
% 
\begin{center}
  \Labyrinthe[CouleurF=Olive,Passages,Longueur=3,Hauteur=1.5,EcartH=1.5,Colonnes=3,Lignes=2]{%
    \MulSimple{542}{7}/Cornsilk,%
    \MulSimple{992}{8}/white,%
    \MulSimple{265}{8}/white,%
    \MulSimple{109}{8}/white,%
    \MulSimple{411}{8}/white,%
    Arrivée/LightSteelBlue}{%
    \num{2768}/%
    \num{2120}/%
    \color{red}\num{3794}/%
    \color{red}\num{872}/%
    \color{red}\num{7936}/%
    \color{red}\num{3288}/%
    \color{red}\num{2120}/%
    \num{3282}/%
    \num{109}}
\end{center}
\end{Codes}
\begin{center}
  \Labyrinthe[CouleurF=Olive,Passages,Longueur=3,Hauteur=1.5,EcartH=1.5,Colonnes=3,Lignes=2]{%
    \MulSimple{542}{7}/Cornsilk,%
    \MulSimple{992}{8}/white,%
    \MulSimple{265}{8}/white,%
    \MulSimple{109}{8}/white,%
    \MulSimple{411}{8}/white,%
    Arrivée/LightSteelBlue}{%
    \num{2768}/\num{2120}/\color{red}\num{3794}/\color{red}\num{872}/\color{red}\num{7936}/\color{red}\num{3288}/\color{red}\num{2120}/\num{3282}/\num{109}}
\end{center}
\begin{Codes}[listing only,listing options={frame=,classoffset=1,deletekeywords={Fin},classoffset=0}]{0.4}{}
\begin{center}
  \Labyrinthe[Colonnes=4,Passages,Lignes=2,EcartH=2,EcartV=2,Longueur=2.75,SensImpose]{%
    $4x+10=2x-8$/Cornsilk,%
    $2x+10=40$/Bisque,%
    $9-2x=35$/Bisque,%
    $2x+45=51$/Bisque,%
    $x-7=-8$/Bisque,%
    $x+26=18$/Bisque,%
    $3x-36=108$/Bisque,%
    Fin/LightSteelBlue}{$-4$/1,15/1,$-13$/1,9/1,$-9$/1,1/0,$-8$/2,0/0,$-2$/1,48/1,$-22$/1,0/0,3/1,14/1,8/1,4/1,$-14$/1,0/0,24/1,44/1,11/1,0/0,$-4$/1,0/0,$-4$/2,0/1,6/2,5/2,$-5$/1,$-72$/1,$-24$/1,0/0,$-6$/1,0/0,17/1,4/2,48/1,0/0,$-6$/1,7/1,$-7$/1,$-16$/1}
\end{center}  
\end{Codes}
\begin{center}
  \Labyrinthe[Colonnes=4,Passages,Lignes=2,EcartH=2,EcartV=2,Longueur=2.75,SensImpose]{%
    $4x+10=2x-8$/Cornsilk,%
    $2x+10=40$/Bisque,%
    $9-2x=35$/Bisque,%
    $2x+45=51$/Bisque,%
    $x-7=-8$/Bisque,%
    $x+26=18$/Bisque,%
    $3x-36=108$/Bisque,%
    Fin/LightSteelBlue}{$-4$/1,15/1,$-13$/1,9/1,$-9$/1,1/0,$-8$/2,0/0,$-2$/1,48/1,$-22$/1,0/0,3/1,14/1,8/1,4/1,$-14$/1,0/0,24/1,44/1,11/1,0/0,$-4$/1,0/0,$-4$/2,0/1,6/2,5/2,$-5$/1,$-72$/1,$-24$/1,0/0,$-6$/1,0/0,17/1,4/2,48/1,0/0,$-6$/1,7/1,$-7$/1,$-16$/1}
\end{center}
\begin{tcolorbox}[tikzRemarque]\PfCMAJ{0.99-z-r}
  Avec la clé \Cle{SensImpose}, on peut paramétrer avec des styles \TIKZ :
  \begin{itemize}
  \item les flèches horizontales avec le style \lstinline!FDirect!;
  \item les flèches verticales avec le style \lstinline!FIndirect!;
  \item les flèches bi-directionnelles avec le style \lstinline!FBidirect!;
  \item la position du texte sur les flèches diagnonales directes avec le style \lstinline!PfCStyle!;
  \item la position du texte sur les flèches diagnonales indirectes avec le style \lstinline!PfCStyleI!.
  \end{itemize}
  Par exemple, on pourra écrire \lstinline!\tikzset{PfCStyleI/.style={midway}}! pour placer le texte au milieu des flèches diagonales indirectes.
\end{tcolorbox}