\clearpage
\section{Billards}\label{DocBillard}
\index{Symetrie axiale@Symétrie axiale}
\begin{tcolorbox}[tikzRemarque]
  Cette commande est uniquement disponible en compilant avec \hologo{LuaLaTeX}.
\end{tcolorbox}
La commande \lstinline!\Billard! permet de construire un \og billard\fg{} tel que celui
ci :
\begin{center}
  \Billard[Longueur=7cm,Largeur=4cm]{"LATEX"}
\end{center}
permettant à l'élève de tracer la trajectoire d'une boule passant par des lettres afin d'obtenir un mot caché.

Elle a la forme suivante :

\begin{lstlisting}[escapechar=!,aboveskip=1em,belowskip=0.5em]
  \Billard[!\sffamily\textlangle clés\textrangle!]{"mot"}
\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!"mot"! constitue le mot caché.%;
%\item\lstinline!position départ! indique la position du point de départ sur les côtés du rectangle;
%\item\lstinline!angle de tir! indique l'angle de tir {\em par rapport à l'horizontal}.
\end{itemize}
\begin{tcolorbox}[tikzRemarque]
  Par défaut, Les rebonds sont à angle droit\footnotemark. La clé \Cle{Vrai} permet de retrouver des rebonds \og classiques\fg.
\end{tcolorbox}
\footnotetext{Le développement de cette commande fait suite à une publication de Roxana {\sc Fournel} sur le groupe \url{https://www.facebook.com/groups/lecoinboulotdesprofsdemathematiques}.}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Billard@\lstinline+\Billard+|mygobble}
  \index[cle]{Billard@\lstinline+\Billard+!Longueur|mygobble}
  \index[cle]{Billard@\lstinline+\Billard+!Largeur|mygobble}
  \index[cle]{Billard@\lstinline+\Billard+!Solution|mygobble}
  \index[cle]{Billard@\lstinline+\Billard+!Vrai|mygobble}
  \index[cle]{Billard@\lstinline+\Billard+!Angle|mygobble}
  \index[cle]{Billard@\lstinline+\Billard+!Depart|mygobble}
\begin{Key}{Longueur}{8cm}
  modifie la longueur (horizontale) du billard.
\end{Key}
\begin{Key}{Largeur}{5cm}
  modifie la largeur du billard.
\end{Key}
\begin{Key}{Solution}{false}
  affiche la trajectoire complète.
\end{Key}
\begin{Key}{Vrai}{false}
  rend réaliste les rebonds lorsqu'elle est activée.
\end{Key}
\begin{Key}{Angle}{70}
  modifie l'angle de tir. Il est {\em toujours} défini par rapport à l'horizontale.
\end{Key}
\begin{Key}{Depart}{0.5}
  modifie la position du point de départ. Sa valeur est comprise entre 0 et 4, la figure suivante indiquant les valeurs 0; 1; 2 ; 3 et 4.
  \begin{center}
    \begin{Geometrie}
      pair A,B,C,D;
      A=u*(1,1);
      B-A=u*(3.5,0);
      C=3/5[B,rotation(A,B,-90)];
      D-C=A-B;
      trace polygone(A,B,C,D);
      dotlabel.lrt(btex 0 etex,A);
      dotlabel.lrt(btex 1 etex,B);
      dotlabel.urt(btex 2 etex,C);
      dotlabel.ulft(btex 3 etex,D);
      dotlabel.ulft(btex 4 etex,A);
    \end{Geometrie}
  \end{center}
\end{Key}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.45}{\small}
\begin{center}
  \Billard[Longueur=6cm,Largeur=4cm]{"LATEX"}
\end{center}
\end{Codes}
\begin{multicols}{2}
\begin{Codes}[]{0.4}{}
\Billard[Longueur=7cm,Largeur=4cm]{"UTOPIE"}
\end{Codes}
\begin{Codes}[]{0.4}{}
\Billard[Solution,Longueur=7cm,Largeur=4cm]{"UTOPIE"}
\end{Codes}
\end{multicols}
\begin{multicols}{2}
\begin{Codes}[]{0.4}{}
\Billard[Vrai,Longueur=7cm,Largeur=4cm]{"METAPOST"}
\end{Codes}
\begin{Codes}[]{0.4}{}
\Billard[Vrai,Solution,Longueur=7cm,Largeur=4cm]{"METAPOST"}
\end{Codes}
\end{multicols}
\begin{Codes}[]{0.5}{\footnotesize}
\begin{multicols}{2}
  \Billard[Vrai,Depart=3.75,Angle=60,Longueur=7cm,Largeur=4cm]{"ABORIGENE"}
  \Billard[Solution,Vrai,Depart=3.75,Angle=60,Longueur=7cm,Largeur=4cm]{"ABORIGENE"}
\end{multicols}
\end{Codes}
\begin{Codes}[]{0.5}{\footnotesize}
\begin{multicols}{2}
  \Billard[Depart=1.25,Angle=-150,Longueur=7cm,Largeur=4cm]{"LUDIQUE"}
  \Billard[Solution,Depart=1.25,Angle=-150,Longueur=7cm,Largeur=4cm]{"LUDIQUE"}
\end{multicols}
\end{Codes}