\clearpage
\section{Calculs Croisés}\label{DocCalculsCroises}
La commande \lstinline!\CalculsCroises!$^{\text{\faIcon{sync-alt}}}$ permet d'obtenir une grille de ce jeu mathématique :\index[cle]{CalculsCroises@\lstinline+\CalculsCroises+}
\begin{center}
\CalculsCroises[Largeur=12pt]{9,*,5,+,8,-,-,+,1,+,3,+,4,*,-,-,7,-,6,*,2}
\end{center}
Elle a la forme suivante :
\begin{lstlisting}[escapechar=!,aboveskip=1em,belowskip=0.5em]
  \CalculsCroises[!\sffamily\textlangle clé\textrangle!]{!\sffamily\textlangle description du jeu\textrangle!}
\end{lstlisting}
où
\begin{itemize}
\item{\sffamily\textlangle clés\textrangle} constituent un ensemble
  d'options pour paramétrer la commande (paramètres optionnels);
\item {\sffamily\textlangle description du jeu\textrangle} sont les éléments de remplissage de la grille de jeu.
\end{itemize}
\begin{Codes}[listing side text]{0.5}{}
\CalculsCroises{%
  % 1ere ligne.
  9,*,5,+,8,%
  % 2eme ligne.
  -,-,+,%
  % 3eme ligne.
  1,+,3,+,4,%
  % 4eme ligne.
  *,-,-,%
  % 5eme ligne.
  7,-,6,*,2%  
}
\end{Codes}
%Pour paramétrer ce type de jeu, on utilise les clés suivantes.
\begin{tcolorbox}[tikzcle]
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!Largeur|mygobble}
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!Couleur|mygobble}
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!Solution|mygobble}
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!Solution!CouleurS|mygobble}
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!ListeNombres|mygobble}
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!Vide|mygobble}
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!CDot|mygobble}
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!Inverse|mygobble}
\begin{Key}{Largeur}{20pt}
  modifie la largeur des cases du tableau.
\end{Key}
\begin{Key}{Couleur}{LightGray}
  modifie la couleur des cases contenant les résultats.
\end{Key}
\begin{Key}{CDot}{false}\PfCMAJ{0.99-z-z}
  remplace, lorsqu'elle est positionnée à \lstinline!true!, le symbole $\times$ par le symbole $\cdot$.
\end{Key}
\begin{Key}{Solution}{false}
  affiche la totalité du tableau de jeu.
  \begin{SousDescription}
    \item[La clé \Cle{CouleurS}]\DefautR{blue} affiche les nombres solutions dans la couleur indiquée.\PfCMAJ{0.99-z-r}
  \end{SousDescription}
 \end{Key}
\begin{Key}{ListeNombres}{\{\}}
  affiche les nombres indiqués dans la liste.
\end{Key}
\begin{Key}{Vide}{false}
  affiche une grille vide.
\end{Key}
\begin{Key}{Inverse}{false}
  affiche la totalité du tableau de jeu {\em sauf les résultats}.
\end{Key}
\end{tcolorbox}
\begin{multicols}{2}
\begin{Exemple}[]{}
\CalculsCroises[Largeur=25pt]{%
5,-,1,*,7,%
-,-,+,%
6,*,4,*,9,%
+,+,*,%
3,-,2,*,8%
}
\end{Exemple}
\begin{Exemple}[]{}
\CalculsCroises[Couleur=LightPink]{%
  5,-,1,*,7,%
  -,-,+,%
  6,*,4,*,9,%
  +,+,*,%
  3,-,2,*,8%
}
\end{Exemple}
\end{multicols}
\begin{Codes}[listing side text]{0.5}{}
\CalculsCroises[Solution,CouleurS=Crimson]{%
  5,-,1,*,7,%
  -,-,+,%
  6,*,4,*,9,%
  +,+,*,%
  3,-,2,*,8%
}
\end{Codes}
%\clearpage
\begin{Codes}[listing side text]{0.5}{}
\CalculsCroises[ListeNombres={5,4,8},%
  Solution,CouleurS=Crimson]{%
  5,-,1,*,7,%
  -,-,+,%
  6,*,4,*,9,%
  +,+,*,%
  3,-,2,*,8%
}
\end{Codes}
%On peut vouloir faire travailler le jeu dans l'autre sens : le tableau étant rempli, quels sont les résultats à obtenir ? Pour cela, on utilisera la clé suivante.
\begin{Codes}[listing side text]{0.5}{}
\CalculsCroises[Inverse]{%
  5,-,1,*,7,%
  -,-,+,%
  6,*,4,*,9,%
  +,+,*,%
  3,-,2,*,8%
}
\end{Codes}
\clearpage
\subsection*{Création \og automatique\fg}
\begin{tcolorbox}[tikzcle]
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!Creation|mygobble}
  \index[cle]{CalculsCroises@\lstinline+\CalculsCroises+!Creation!Graine|mygobble}
\begin{Key}{Creation}{false}
  permet la création \og automatique\fg{} et aléatoire d'un jeu; les opérations doivent être données par l'utilisateur.
  \begin{SousDescription}
  \item[La clé \Cle{Graine}]\Defaut{--}
    permet de \og bloquer\fg{} l'aléatoire. C'est un entier compris entre 0 et $2^{28}-1$.
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\begin{multicols}{2}
  \begin{Codes}[]{0.5}{\small}
% Graine de l'aléatoire non fixée.
\CalculsCroises[Creation]{%
  +,-,*,+,-,*,+,-,*,+,-,*}
\end{Codes}
\begin{Codes}[]{0.5}{\small}
% Graine de l'aléatoire non fixée :
% la solution et l'énoncé
% ne correspondent pas.
\CalculsCroises[Creation,Solution]{%
  +,-,*,+,-,*,+,-,*,+,-,*}
\end{Codes}
\end{multicols}

\begin{multicols}{2}
  \begin{Codes}[]{0.5}{\small}
% Graine de l'aléatoire fixée.
\CalculsCroises[Creation,Graine=42,CDot]{%
  +,-,*,+,-,*,+,-,*,+,-,*}
\end{Codes}
\begin{Codes}[]{0.5}{\small}
% Graine de l'aléatoire fixée :
% la solution et l'énoncé correspondent.
\CalculsCroises[Creation,Solution,Graine=42]{+,-,*,+,-,*,+,-,*,+,-,*}
  \end{Codes}
\end{multicols}