% makeindex < aebpro_man.idx > aebpro_man.ind

\documentclass{article}
\usepackage{amsmath}
\usepackage[
    web={centertitlepage,designv,forcolorpaper,tight*,latextoc,pro},
    eforms,
%    linktoattachments,
%    attachments={../aeb_pro.dtx},
%    uselayers,
    aebxmp
]{aeb_pro}
\usepackage{aeb_mlink}
\usepackage{graphicx,array,subfigure}
%\usepackage{myriadpro}
\usepackage[altbullet]{lucidbry}
\usepackage{pstricks,pstricks-add}
\usepackage{pst-node}

%\usepackage{makeidx}
%\makeindex

\usepackage{acroman}
\usepackage[active]{srcltx}

\def\pstnodescale{72 72.27 div dup scale }%

% \usepackage[active]{srcltx}

\urlstyle{rm}

\def\tutpath{doc/tutorial}
\def\tutpathi{tutorial}
\def\expath{../examples}

\DeclareDocInfo
{
    university={\AcroTeX.Net},
    title={JJ\_Game Class},
    author={D. P. Story},
    email={dpstory@acrotex.net},
    subject={How to create Jeopardy-like game boards},
    talksite={\url{www.acrotex.net}},
    version={v3.1, 2016/11/24},
    keywords={Jeopardy, LaTeX, games},
    copyrightStatus=True,
    copyrightNotice={Copyright (C) \the\year, D. P. Story},
    copyrightInfoURL={http://www.acrotex.net}
}
\nocopyright

\def\dps{$\hbox{$\mathfrak D$\kern-.3em\hbox{$\mathfrak P$}%
   \kern-.6em \hbox{$\mathcal S$}}$}

\universityLayout{fontsize=Large,fontfamily=sffamily}
\titleLayout{fontsize=LARGE,fontfamily=sffamily}
\authorLayout{fontsize=Large,fontfamily=sffamily}
\tocLayout{fontsize=Large,color=aeb,fontfamily=sffamily}
\sectionLayout{indent=-62.5pt,fontsize=large,color=aeb}
\subsectionLayout{indent=-31.25pt,color=aeb,fontfamily=sffamily}
\subsubsectionLayout{indent=0pt,color=aeb,fontfamily=sffamily}
\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}}

%\pagestyle{empty}

\makeatletter
\newcommand{\jjgCng}{\@ifstar{\@jjgCng}{\@jjgCng}}%
\newcommand{\@jjgCng}[1][]{\@gobbletwo}
%\newcommand{\jjgCng}{\@ifstar{\def\jjg@checked{*}\@jjgCng}{\def\jjg@checked{x}\@jjgCng}}%
%\newcommand{\@jjgCng}[1][]{%
%    \if\jjg@checked*\def\jjg@marker{\textcolor{blue}{jjg 3.0}~\textcolor{red}{\ding{052}}\goodbreak}\else
%    \def\jjg@marker{\textcolor{red}{jjg 3.0}}\fi
%    \def\argi{#1}\ifx\argi\@empty
%        \marginpar{\scriptsize\jjg@marker}%
%    \else\marginpar{\scriptsize\jjg@marker\goodbreak\raggedright#1}\fi}
\makeatother

\chngDocObjectTo{\newDO}{doc}
\begin{docassembly}
var titleOfManual="The JJ_Game Manual";
var manualfilename="Manual_BG_Print_jjg.pdf";
var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
var doc;
var buildIt=false;
if ( buildIt ) {
    console.println("Creating new " + manualfilename + " file.");
    doc = \appopenDoc({cPath: _pathToBlank, bHidden: true});
    var _path=this.path;
    var pos=_path.lastIndexOf("/");
    _path=_path.substring(0,pos)+"/"+manualfilename;
    \docSaveAs\newDO ({ cPath: _path });
    doc.closeDoc();
    doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true});
    f=doc.getField("ManualTitle");
    f.value=titleOfManual;
    doc.flattenPages();
    \docSaveAs\newDO({ cPath: manualfilename });
    doc.closeDoc();
} else {
    console.println("Using the current "+manualfilename+" file.");
}
var _path=this.path;
var pos=_path.lastIndexOf("/");
_path=_path.substring(0,pos)+"/"+manualfilename;
\addWatermarkFromFile({
    bOnTop:false,
    bOnPrint:false,
    cDIPath:_path
});
\executeSave();
\end{docassembly}
%\def\bUrl{http://www.math.uakron.edu/~dpstory}
%
%\hypersetup{linktocpage}
%
%\makeatletter
%\let\web@copyright=\@gobble
%\makeatother
%
%
%%\makeatletter
%%\renewcommand{\@oddhead}{\normalfont\small\ifodd\c@page\rightmark\hfil\web@rightheader\else\hfil\fi}
%%\makeatother
%
\renewcommand\redpoint{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi
\vskip\medskipamount\noindent
  \makebox[0pt][r]{\makebox[20pt][l]{\large\color{red}$\blacktriangleright$}}}

\newcommand\bluepoint{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi
\vskip\medskipamount\noindent
  \makebox[0pt][r]{\makebox[20pt][l]{\large\color{blue}\ding{42}}}}

\newcommand{\NO}[1]{%
\pscircle(0,0){9pt}
\rput(0,0){#1}
}

\def\cS#1#2{\textField[\Ff\FfReadOnly\textSize{10}\textFont{Arial}\uDV{FEFF#2}\uV{FEFF#2}\BC{}]{#1}{20bp}{11bp}}

%
%\newcommand{\cs}[1]{\texttt{\char`\\#1}}
%\def\Y&Y{Y\kern-.2em{\footnotesize\&}\kern-.2emY}
%\def\parss{\par\smallskip}
%\def\dps{$\mbox{$\mathfrak D$\kern-.3em\mbox{$\mathfrak P$}%
%   \kern-.6em \hbox{$\mathcal S$}}$}
%
%
%
\frenchspacing

\def\jj{\textsf{jj\_game}}

\begin{document}


\maketitle

\changelinkcolorto{black}
\tableofcontents
\changelinkcolorto{webgreen}

\section{Introduction}

The ``\textcolor{red}JavaScript \textcolor{red}Jeopardy
\textcolor{red}Game'', a.k.a., \jj\ (\url{http://ctan.org/pkg/jj-game}), is a \LaTeX{} class file that
can be used to construct a Jeopardy-like game board and the
accompanying answers and questions.  The \jj{} is capable of
constructing a game board for an arbitrary number of categories and
an arbitrary number of questions per category.

There are options for users of \textsf{dvipsone} (from the now defunct \Y&Y),
\textsf{dvips}, \textsf{pdflatex}, \textsf{lualatex}, or \textsf{xelatex} to build a Jeopardy game.

A Jeopardy game, as constructed by {\jj}, consists of three parts: the instructions,
the game board and the question pages. See figures~1, 2 and 3 below.

\begin{figure}[ht]
\centering
\hskip-62.5pt
\begin{minipage}{\linewidth+62.5pt}
\parbox{.3\linewidth}{\includegraphics[width=\linewidth]{jj_instructions1}
\caption{Instructions Page}\label{fig:instrPage}}\hfill
\parbox{.3\linewidth}{\includegraphics[width=\linewidth]{jj_gameboard1}
\caption{Game Board Page}\label{fig:gameboard}}\hfill
\parbox{.3\linewidth}{\includegraphics[width=\linewidth]{jj_questions1}
\caption{Question Page}\label{fig:questions}}
\end{minipage}
\end{figure}

Corresponding to each of these pages are environments and commands
that allow you create content for your Jeopardy quiz game and to designate the
color scheme to be used.

After reading your detailed instructions, the contestant arrives at
the game board page. The contestant chooses a category and a
question in that category (``I'll take `Candles and Wicks' for
200''). When the contestant clicks on the cell, the game jumps to
the question page (``Which end of the candle do you light? What
is\dots''\footnote{The author is making a vague and rather poor play
on words with Wiccan. pooh.}) corresponding to that choice and a
question is posed.

A question can be multiple choice, math fill-in or text fill-in. In
the case of the fill-in type questions, the \pkg{exerquiz} package is
needed. After the contestant answers the question, the game returns
to the game board page, and the score is updated.

Should the contestant reach the goal set by the \texttt{Goal}
property of the \cs{GameDesign} command, when the contestant has
finished answering all questions, a hidden field under that banner
of the game board appears with a short message, as defined by the
\texttt{Champion} property of \cs{GameDesign} command.

There is no reset button, so if you want to play again, just close the game,
and reopen it. Do not save the game before it closes, this will save the form
data and when you open it again, the initial state of the game will not be
restored.

You should be aware of the following features, which are meant to
discourage contestants from looking at the questions by paging
through the PDF or attempting to edit earlier responses.
\begin{itemize}
\item When a question page is opened, the cell in the
    game board that corresponds to that page is blanked out. When
    the contestant returns to the game board, that cell is no longer
    clickable, hence, the contestant cannot legally answer that
    question. When a contestant is on a question page illegally, a
    nasty message appears in an alert box if the contestant answers
    the question on that page.
\item If the contestant answers the question legally, then later returns
    to that same question page and tries to edit the question
    (perhaps because it was missed earlier), a (less than nasty)
    message appears saying that you cannot change your answer.
\end{itemize}

I do hope there will be people out in Cyberland who will use {\jj}
and construct some interesting games for us to enjoy.

\medskip\noindent
Now, I simply must get back to my retirement. \dps

\section{Preliminaries}

%\subsection{Unpackaging the Class}\label{unpack}

%Several modern {\TeX} systems download package and install them with little or no pain; this
%is the easiest way to do it. You can find the {\jj} package at

%To unpack the \texttt{jj\_game.dtx}, `\texttt{latex}' the installation
%file \texttt{jj\_game.ins}. If you use \textsf{Acrobat 5.0}, open the file
%\texttt{jj\_game.ins} in your favorite editor and change the line
%\begin{Verbatim}
%\def\AcrobatOption{Acrobativ} % Acrobativ or Acrobatv
%\end{Verbatim}
%to
%\begin{Verbatim}
%\def\AcrobatOption{Acrobatv}  % Acrobativ or Acrobatv
%\end{Verbatim}
%then do a `\texttt{latex jj\_game.ins}'.
%
%When you distill with the \textsf{Acrobat Distiller~5.0}, the
%document level JavaScripts needed to operate this game are
%automatically inserted when the game is opened in \textsf{Acrobat}
%for the first time.  See the section \Nameref{s:buildgame} for
%more details.

\subsection{Requirements}

The new {\jj} class now uses many of the standard package files from AeB
(\cAcroEB); in particular, the AeB components used are \pkg{web},
\pkg{insdljs} and \pkg{eforms}. The \pkg{exerquiz} package can optionally
be used as well to pose math and text fill-in questions. Therefore, AeB should already be installed
(\url{http://ctan.org/pkg/acrotex}).


The {\jj} class usse the very fine package \texttt{xkeyval}  (2006/11/18
v2.5f or later),\footnote{Located at
CTAN:/tex-archive/macros/latex/contrib/xkeyval}, and the equally nice package
\texttt{xcolor} (2005/11/25 v2.08 or
later),\footnote{CTAN:/tex-archive/macros/latex/contrib/xcolor} if available
on the system. The \texttt{comment} package is also used.\footnote{CTAN:
/tex-archive/macros/latex/contrib/comment} The \pkg{graphicx} package is needed if
you wish to insert graphical backgrounds.

\newtopic\noindent
Requirements based on driver applications:
\begin{itemize}

\item \app{pdflatex}, \app{lualatex}, and \app{xelatex}: {\jj} class works
    with these two applications that that write a document in PDF. Some of
    the features---the \texttt{forcredit} and \texttt{pro} options---of
    {\jj} are not available to these applications.

\item \app{dvips} and \app{dvipsone}: In these two cases, it is assumed that PDF is
creating \app{Acrobat Distiller}, not \app{Ghostscript}; in this case, the
\texttt{forcredit} option (see `\mlnameref{forcreditOption}',
page~\pageref*{forcreditOption}) is available.  If the document author has
Acrobat 7.0 Pro (or later), the \texttt{pro} option (see
`\nameref{proOption}', page~\pageref*{proOption}) can be used as
well.

\end{itemize}
Once the game is built, Adobe Reader 5.0 or later is sufficient to
enjoy the wonderfulness of the time-consuming pass time that is
Jeopardy. If the document author used the \texttt{pro} option, Adobe
Reader 7.0 or later is required.


\subsection{Listing of Sample Files}

The sample files are good templates for designing your own game:
\begin{itemize}
    \item \texttt{jjg\_test.tex}: The original demo file from the first version
    of this class.
    \item \texttt{jg\_ca.tex}: A Jeopardy quiz game constructed for and distributed
    to a College Algebra class for extra credit.
    \item \texttt{jjg\_custom.tex}: An example of a custom design.
    \item \texttt{pro/jjg\_pro\_ca.tex}: Same as \texttt{jg\_ca.tex} but uses the \pkg{aeb\_pro}
    package (with layers) with the \texttt{forcredit} option of \jj. (\app{dvips}/\penalty0\app{Distiller} workflow required)
\end{itemize}
The first three files can be successfully build with
\app{dvips}/\penalty0\app{Distiller}, \app{pdflatex}, \app{lualatex}, and \app{xelatex}.


\section{Options}

The options of this class are listed below. In some cases, you are referred to
other sections of this manual for further details.
\begin{itemize}
\item Driver Options: {\jj} recognizes four drivers. Choose only one.
\begin{itemize}
\item \texttt{dvips}: The dvi-to-ps converter that comes with many \TeX\
    systems.  The Adobe Acrobat Distiller must be used to convert from
    Postscript to PDF.

\item \texttt{dvipsone}: The dvi-to-ps converter by \Y&Y.\footnote{Now
    out of business, but this author still uses it.}  In this case, the
    Adobe Acrobat Distiller must be used to convert from Postscript to
    PDF.

\item \texttt{pdftex}: The tex-to-pdf converter.  The distiller is not
    needed in this case.

\item \texttt{luatex}: The tex-to-pdf converter. The distiller is not
    needed in this case.

\item \texttt{xetex}: The tex-to-pdf converter. The distiller is not
    needed in this case.

\item \texttt{dvipdfm} and \texttt{dvipdfmx}: Less used dvi-to-pdf
    converters.  The distiller is not needed in this case.
\end{itemize}
In the cases of \texttt{pdftex}, \texttt{luatex}, and \texttt{xetex}, \pkg{\jj} performs automatic driver detection
so none of these need to be actually specified in the option list of \pkg{\jj}. If you use
the \texttt{dvips} driver, specify it in the \texttt{jj\_game.cfg} file, as explained on the next page.

%\item \verb+\documentclass[dvips,foils]{jj_game}+\\ This class seems to
%work well with \jj.  There is a switch, \verb+\iffoils+, that you
%can use if you want to switch between a formatting that does not
%use \texttt{foils}, and \texttt{foils}.

\item \texttt{debug}: In the developmental stage, you can use the
\texttt{debug} option that will give you more information in the log
about what is going on.

\item \texttt{double}: The face values of all cells are doubled.
(Double JavaScript Jeopardy!) Use it if you have time, energy and motivation
to write two Jeopardy games.

\item \texttt{final}: After you have completed your
{\jj}, you can, optionally, build it one more time with
the \texttt{final} option. This option removes the menu, the
toolbar, the GUI interface of the Acrobat Viewer; all that is left
is your game.


\item \texttt{pro}: The \texttt{pro} option is available only with
the \texttt{dvips} or \texttt{dvipsone} driver. You are required to
use the AeB Pro package. This package requires that you use Acrobat
7.0 Pro (or later) and to create you PDF using Acrobat Distiller.
For the pro option, the questions are placed in OCGs (optional
content groups, or simply layers). See `\nameref{proOption}' on
page~\pageref*{proOption}.

\item \texttt{forcredit}: This option brings in some security measures
that helps the instructor set up a Jeopardy game that can be used
for (extra) credit in the classroom. See the section titled
\nameref{forcreditOption} on page~\pageref*{forcreditOption}.

\item \texttt{design=\ameta{design\_name}}: There are a limited number of
predefined designs. The values of the design parameter are
\texttt{jeopardy}, \texttt{florida}, \texttt{iceland},
\texttt{hornet}, \texttt{qatar}, \texttt{norway}, \texttt{bahamas},
and \texttt{spain}. These are in addition to the default color design scheme.

\item \texttt{nodesigngraphics}: Some of the designs specified by
the \texttt{design} option have graphical backgrounds.  To use a
specific design without the designed graphical background, use the
\texttt{nodesigngraphics}.  In the preamble, you can optionally
specify your own graphical background using the graphical background
insert commands, see \Nameref{graphicsBGs}.

\item \texttt{lang=\ameta{\upshape{english|german}}}: The Jeopardy game has some
language strings, most notably, the semi-humorous messages that
appear after the player responds to one of the questions. The
\texttt{lang} option allows these common strings to appear in
\texttt{german}. The default is \texttt{english}. When the \texttt{german}
option is in effect, a crude euro symbol is typeset instead of the
dollar, and the euro symbol is used in the score board as well.

\item \texttt{allowpeeking}: The normal behavior of the game is that
if the contestant looks ahead at a question, then the tile on the
game board corresponding to the question viewed is hidden. The
contestant is not allowed to answer that question. Use this switch
to remove this feature of the game.

\item \texttt{twoplayer}: At the request of a user, I've created a \texttt{twoplayer} option;
useful for classroom participation. See \Nameref{tpj} for details.

\end{itemize}

\newtopic\noindent
An example of usage of some of these options is
\begin{Verbatim}[xleftmargin=\amtIndent]
\documentclass[dvips,forcredit,lang=german,
    design=florida]{jj_game}
\end{Verbatim}
You can also set your favorite driver as the default.  Edit the file
\texttt{\jj.cfg} that comes with the distribution and place in it, for
example, the command
\begin{Verbatim}[xleftmargin=\amtIndent]
\ExecuteOptions{dvips}
\end{Verbatim}
\noindent(This sets \textsf{dvips} as the default driver.) In this case
the above example becomes
\begin{Verbatim}[xleftmargin=\amtIndent]
\documentclass[forcredit,lang=german,design=florida]{jj_game}
\end{Verbatim}
Specifying a driver as an optional parameter in the
\cs{documentclass} declaration will override whatever default set in
the \texttt{\jj.cfg} file.

%\newtopic\noindent
%\textbf{\textcolor{red}{Option Removed:}} Previous versions (prior
%to version 3.0) of {\jj} class had a \texttt{foils} option. As far
%as I know, no one used this option, so I am removing it.

% Changes
% Removed support for foils
% Now uses web package, with templates
% eforms, comment



\section{Designing the Game and Posing the Questions}

The following sections outline the design of the game.  If you
don't specify a particular part of the design of the game, then a
default value will be substituted.

The sample file \texttt{jj\_test.tex} represents a prototype game
that you can modify.

\subsection{Stuff for the Preamble}

There is potentially a lot of stuff that goes into the design of the
game.  Again, all have default values, but there are some required
design parameters.

\subsubsection{Banners and Backgrounds}

Throughout the document, there are many colors living in {\LaTeX} space
that are under the control of the document author.  Most all colors
can be set through the argument of the \cs{DeclareColors} command.

\redpoint \cs{DeclareColors}: The argument of \cs{DeclareColors}
consist of key-value pairs. These key-values are in the JavaScript
style, key and value are separated by `\verb*!: !', the space is
required to follow the colon. The key references some color aspect
of the game, the value is named color. A color of
\texttt{transparent} is also recognized. The following is a
\cs{DeclareColors} structure listing all possible keys, with some
named color values.{\small
\begin{Verbatim}
\DeclareColors
{
    fillCells: lightgray,       % background for cells
    fillBanner: PineGreen,      % color of banner
    textBanner: Yellow,         % color of text in banner
    textBoard: Yellow,          % color of text in categories on game board
    fillInstructions: cornsilk, % background of the instructions page(s)
    fillGameBoard: cornsilk,    % background of the game board page
    fillQuestions: cornsilk,    % background of the questions pages
    dollarColor: blue,          % color of the heading of questions page
    linkColor: red,             % color of any hypertext links used
}
\end{Verbatim}
}%
If \cs{DeclareColors} is not present in the preamble, or if present, if the keys are not fully populated,
the default values are used.

See \hyperref[colorscheme]{Section~\ref*{colorscheme}},
beginning page~\pageref*{colorscheme}, for a visual representation of
these colors.

\redpoint \cs{titleBanner}: On the instructions page, see
\hyperref[fig:instrPage]{Figure~\ref*{fig:instrPage}},
page~\pageref*{fig:instrPage}, there is a banner heading. The text of this
banner is set by \cs{titleBanner}
\bVerb\takeMeasure{\string\titleBanner\darg{\ameta{Banner Text}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\titleBanner{!ameta(Banner Text)}
\end{dCmd}
\eVerb
This command is required, though if not set, the default text will appear,
``You are the Winner!''. For example
\begin{Verbatim}
\titleBanner{The \TeX\ Game!}
\end{Verbatim}
You can format the banner text using \cs{bannerTextFont} by redefining it. Its default
definition is
\begin{Verbatim}[xleftmargin=\amtIndent]
\newcommand{\bannerTextFont}{\sffamily\huge}
\end{Verbatim}
There are other banners in the Jeopardy game, the ones on the questions pages.
The text for these banners are the categories of question you declare
in the \cs{GameDesign} command, discussed in the next section.  The
\cs{bannerTextFont} effects these banners as well.

Finally, there is \cs{bannerTextControl} used for finer positioning of the banner text.
The default definition is
\begin{Verbatim}[xleftmargin=\amtIndent]
\newcommand{\bannerTextControl}[1]{#1}
\end{Verbatim}
This can be redefined for whatever purpose. Normally it is not needed. But, for example
\begin{Verbatim}[xleftmargin=\amtIndent]
\renewcommand{\bannerTextControl}[1]{\raisebox{3pt}{#1}}
\end{Verbatim}
The above example raises the banner text \texttt{3pt}.

\subsubsection{Game Design}\label{gamedesign}

\redpoint \cs{GameDesign}: In order to design a game, you must
have categories and questions in each category.  The
\cs{GameDesign} is the macro that is used for this purpose.
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\GameDesign
{
  Cat: \TeX,                        % list the categories
  Cat: \LaTeX,                      %       "
  Cat: Classes \&~Packages,         %       "
  NumQuestions: 3,                  % number questions per category
  Goal: {3,500},                    % set a goal, just for fun
  GoalPercentage: 0,                % goal as a percentage of money
  CellWidth: 1in,                   % cell width
  CellHeight: .5in,                 % cell height
  ExtraWidth: 0pt,                  % additional width if needed
  ExtraHeight: .2in,                % additional height if needed
  Champion: You are a Champion!     % this text appears if goal is met
}
\end{Verbatim}
The key-value pairs can appear in any order.

\newtopic\noindent
\textbf{Required Keys: } The \texttt{Cat} and
\texttt{NumQuestions} keys are required, though this is not
enforced.

\newtopic\noindent
\textbf{Format for key-value paires.} The format is `\texttt{\ameta{key}:
\ameta{value}}'. Multiple key-values are separated by a comma (,). If the
value contains a comma, enclose the value in braces, as I did above with the
\texttt{Goal}. The last item can have an optional comma (,).

Each key, except \texttt{Cat}, has a default value. The values of
these keys may need to be adjusted depending on the number of
categories, number of questions, and font size.

\bluepoint The value of \texttt{Cat} has an optional argument, you
can say
\begin{Verbatim}[xleftmargin=\amtIndent]
Cat: [\small] Classes \&~Packages,
\end{Verbatim}
The value of the optional argument is inserted just before the
``Classes \&~Packages'' in the category heading of the game board.
In this case, its size is reduced to fit into the bounding
rectangle.

\bluepoint The parmeter \texttt{GoalPercentage} needs comment. You
can set the goal by setting the percentage of the total money in
the game; i.e., \texttt{GoalPercentage: 90}, sets the goal to 90\%
of the total money. If \texttt{GoalPercentage} is present in the
\cs{GameDesign}, and its value differs from the default value of
zero (\texttt0), then the value of the \texttt{Goal} parameter,
if present, is discarded, and a new goal is calculated based on
the percentage of the total money, which is a function of the
number of categories, the number of questions per category, and
whether the \texttt{double} option has been invoked.

\medskip
The {\jj} class takes these entries and computes the values for \cs{paperheight},
\cs{paperwidth} and \cs{textheight}.

I've used some code from Radhakrishnan C V's \textsf{pdfscreen}. In
that regard, you can, however, use \cs{marginsize} to set the
margins around the page, the default is
\begin{Verbatim}[xleftmargin=\amtIndent]
\marginsize{.25in}{.25in}{.25in}{.25in}
\end{Verbatim}

We now turn to defining the attributes of the Acrobat form fields
that appear in the game.

In the next few paragraphs, covering the appearance attributes of
the fields corresponding to \cs{APHidden}, \cs{APDollar},
\cs{APRight}, \cs{APWrong} and \cs{APScore}, colors are specified in
the RGB color space; for example \texttt{0.98 0.92 0.73}. Note that
unlike the color package of {\LaTeX}, the numbers are separated by
spaces not commas.  Also, the keys that begin with the word ``Fill''
(e.g., \texttt{FillColor}) recognize the word \texttt{transparent}
as a value, in this case, there is no background color for that
field.

\redpoint There is a hidden text field in the banner above the game board that is
revealed when the game is over (all questions are answered) and
the goal, set in \cs{GameDesign}, is met.  The \cs{APHidden}
controls the appearance of this hidden banner.
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\APHidden
{
  Champion: You are a Champion!,    % this text appears if goal met
  Font: TiRo,                       % font to be used
  Size: 20,                         % size of the font
  TextColor: 0 0 1,                 % color of the text
  BorderColor: 0 0 0,               % border color
  FillColor: 0.98 0.92 0.73,        % background color
}
\end{Verbatim}
The Champion key can be placed in the \cs{GameDesign} structure;
this is more convenient for creating pre-packaged designs
(such as \texttt{design=jeopardy} and \texttt{design=florida}).

\redpoint \cs{APDollar}: The \cs{DesignGame} just sets basic
parameters, it does nothing towards defining color.  For that, I
have the \cs{APDollar} macro. This macro sets the attributes of the
numbers that appear as the game cells on the game board.
\begin{Verbatim}[fontsize=\small,xleftmargin=\amtIndent]
\APDollar
{
  Font: TiRo,           % font to be use for the numbers
  Size: 20,             % size of font
  TextColor: 0 0 1,     % color for the numbers
  BorderColor: 0 0 0,   % color of border
  FillColor: 1 .35 1,   % the fill color for the cell face
}
\end{Verbatim}
The above are all the defaults. The \cs{APDollar}
macro does not have to appear, unless you want to change one of
the defaults.

\redpoint \cs{APRight} and \cs{APWrong}: Under the face of the
cells are two hidden text fields, one for a ``Right'' answer, one
for a ``Wrong'' answer.  The two macros \cs{APRight} and \cs{APWrong}
have the same key-value arguments.
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\APRight{
  Font: TiRo, Size: 20, TextColor: 0 0 1, Message: Right!}

\APWrong{
  Font: TiRo, Size: 20, TextColor: 1 0 0, Message: Wrong!}
\end{Verbatim}
The default value for the \texttt{Message} parameter is
``\texttt{Right!}'' (``\texttt{Wrong!}''), but these can be changed with
\cs{correctText} (\cs{incorrectText}). For German, for example, you can put
in the preamble \verb+\correctText{Richtig!}+ (\verb+\incorrectText{Falsch!}+),
this command lends itself to customization.

\redpoint \cs{APScore}: There is a text field, set by the command
\cs{ScoreBoard}, to keep track of the score.  The following macro
designs the appearance attributes for the score board.
\begin{Verbatim}[fontsize=\footnotesize]
\APScore{
  Font: TiRo,                   % font to be used
  Size: 20,                     % font size to be used
  TextColor: 0 0 1,             % text color
  BorderColor: 0 0 0,           % border color
  FillColor: 0.98 0.92 0.73,    % background color
  CellHeight: \the\cellHeight,  % default same as cells (usually not specified)
  CellWidth: \the\cellWidth,    % default same as cells (usually not specified)
  AutoPlacement: true,          % auto placement of score, values: true or false
  Score: "",                    % score text
  Currency: "$",                % currency
  align: r,                     % horizonal align: l (left), c (center), r (right)
}
\end{Verbatim}


\bluepoint To get a currency of a EURO or some other currency symbol, use
Unicode; in the case of the EURO, use \verb!Currency: "\string\\u20AC"!.
When the \texttt{lang} option is set to \texttt{german}, the EURO
automatically becomes the default currency symbol.

The following is a listing of some of the common currency signs. Keep in mind, that
these must be escaped like so \verb!Currency: "\string\\00A5"! (Yen Sign).
\begin{center}
\begin{tabular}{lll||lll}
Description     & Unicode   & Symbol                &  Description      & Unicode       & Symbol \\\hline
Dollar Sign     & \cs{u0024}& \cS{Dollar}{0024}     & Lira Sign         & \cs{u20A4}    &\cS{Lira}{20A4}\\
Pound Sign      & \cs{u00A3}& \cS{Pound}{00A3}      & Peseta Sign       & \cs{u20A7}    &\cS{Pesta}{20A7}\\
Currency Sign   & \cs{u00A4}& \cS{Currency}{00A4}   &  New Sheqel Sign  & \cs{u20AA}    &\cS{Sheqel}{20AA}\\
Yen Sign        & \cs{u00A5}& \cS{Yen}{00A5}        & Dong Sign         & \cs{u20AB}    & \cS{Dong}{20AB}\\
French Franc    & \cs{u20A3}& \cS{Franc}{20A3}      & Euro Sign         & \cs{u20AC}    &\cS{Euro}{20AC}\\
\end{tabular}
\end{center}
The Font key needs to have a value of a font that contains the currency symbol. For example,
\texttt{TiRo} and \texttt{Arial} (the open type font versions) both have these currency symbols.

Some currency symbols, and I don't know which are appended to the end of the number. Use
\bVerb\takeMeasure{\string\prependCurrency}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\prependCurrency
\appendCurrency
\end{dCmd}
\eVerb
The first, which is the default, prepends the currency sign to the number, whereas,
the command \cs{appendCurrency} appends it to the end of the number. Execute these in the preamble.

\bluepoint The \texttt{align} parameter horizontally aligns the
contestant's current total in the text field. Permissible values are
\texttt{l} (for left aligned), \texttt{c} (for centered), and
\texttt{r} (for right aligned, the default).

\bluepoint Then \texttt{AutoPlacement} is \texttt{true}, the \cs{ScoreBoard} is
centered directly under the game board. If \texttt{false}, then
you have to provide a placement for the \cs{ScoreBoard}. In this case, use the macro
\cs{PlaceScoreBoard}:
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\PlaceScoreBoard{\vfill\hspace{\rulewidth}\hspace{\extraWidth}%
  \medskip\ScoreBoard}
\end{Verbatim}
This places the score board at the bottom of the page, aligned
with the left edge of the game board.

\subsection{The Stuff in the Body of the Document}

Now that we've finished laying out the design of the game, we are ready to
actually pose the questions. This is done in the body of the document,
following \verb!\begin{document}!, don't you know. First come the instructions,
the contestant can't play the game without instructions!

\subsubsection{The Instructions}

The first page of the game consists of the instructions. Place the
instructions in the \texttt{instructions} environment.
\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
\begin{instructions}
!ameta(instructions go here) %!rm perhaps a graphic as well
...
\end{instructions}
\end{Verbatim}

The \verb+\end{instructions}+ ends the page, and inserts the
game board on the next page.

Should you need more than one page of instructions, use
\cs{insertJJTitleBanner}. This command will start a new page and
place the title banner at the top of the page.

\subsubsection{The Questions}

Following the instructions environment comes the question and
multiple choice alternatives. For this, there is a \texttt{Category}
environment, within which is placed a series of \texttt{Question}
environments.  The number of questions per category must be the same
as declared as the value of \texttt{NumQuestions} in the
\cs{GameDesign} macro.

The format is as follows:
\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
\begin{Category}{!ameta(category_name)}
\begin{Question}[!ameta(num_of_columns)]
!ameta(Text of the question)
\Ans0 ...               % a wrong answer
\Ans1 ...               % the right answer
\Ans0 ...               % another wrong answer
\end{Question}
\end{Category}
..........
..........
\end{Verbatim}
The number of categories must be the same as was listed in macro
\cs{GameDesign}.
The \ameta{category\_name} is required; it is used to send
messages to the log about whether you are listing the categories
in the correct order.  It doesn't have to be exactly the same as
was defined in \cs{GameDesign}.

\bluepoint The macro \cs{Ans} typesets the answers, it takes one
argument. An argument of `\texttt0', e.g., \cs{Ans0}, means that
answer is wrong, an argument of `\texttt1', e.g., \cs{Ans1},  means
the answer is the correct one.

\bluepoint The default behavior is a column listing of the answers.  You can
have a tabular format by specifying an optional number in the
brackets, \ameta{num\_of\_columns}.

% jman says add a two column example

Beginning with version 3.0 of {\jj}, you can now pose
fill-in questions, in addition to multiple choice questions. Use
\cs{RespBoxMath} for math fill-in questions and \cs{RespBoxTxt} for
text fill-in questions. See the manual \texttt{aeb\_man.pdf}, the manual
of usage for the \cAcroEB.

Enclose the two commands \cs{RespBoxMath} and \cs{RespBoxTxt} in a special
environment, \texttt{oAnswer}. This environment redefines the actions of these
two standard \textsf{exerquiz} commands.

\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\begin{Question}
    If $f(x) = 2x^2 + x $, what is $f(2x)$?
    \begin{oAnswer}
        \begin{equation*}
            f(2x)=\RespBoxMath{2*(2x)^2 + 2*x}{4}{.0001}{[1,2]}
        \end{equation*}
    \end{oAnswer}
\end{Question}
\end{Verbatim}

\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\begin{Question}
    He was the first president of the United States? Who was\dots
    \begin{oAnswer}
        \RespBoxTxt{2}{1}{3}{George Washington}
        {G. Washington}{Geo. Washington}
    \end{oAnswer}
\end{Question}
\end{Verbatim}
Do not use the optional argument for the \texttt{Question} environment, it is
not needed for fill-in questions.

\redpoint The questions page consist of three parts: (1) The banner that
states the category for this question; (2) the currency heading
which typically says ``\textcolor{blue}{For \$100:}''; and (3) the question.

There are two other commands that can be used to change the
appearance of the questions page.
\bVerb\takeMeasure{\string\currencyHeading\darg{\ameta{currencyHeading}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\currencyHeading{!ameta(currencyHeading)}
\aboveCurrencySkip{!ameta(skip)}
\end{dCmd}
\eVerb The \cs{currencyHeading} heading is a command that can be used to change the text that sets up
the question for the page, The default value is
\begin{Verbatim}[xleftmargin=\amtIndent]
\currencyHeading{\bfseries For~\$\theCurrencyAmt:}
\end{Verbatim}
where \cs{theCurrencyAmt} is a command that expands to the correct amount (of currency) for
this question.  Use this command in the preamble to redefine the text.  For \texttt{lang=german},
this text is automatically redefined.

\cs{aboveCurrencySkip} adjusts the amount of vertical space between the page banner, and the currency
heading. The default is
\begin{Verbatim}[xleftmargin=\amtIndent]
\aboveCurrencySkip{0pt}
\end{Verbatim}

\newtopic\noindent And that's all there is to it!

\section{Building the Game}\label{s:buildgame}

For people using \textsf{pdftex} or \textsf{dvipdfm}, there is no
special processing. Just `\textsf{pdflatex}-it' or `\textsf{dvipdfm}-it',
and you are ready to play!

For \textsf{dvipsone} and \textsf{dvips}, some additional steps
are necessary. The \jj{} class uses Document Level JavaScripts to
control the game as it progresses.

For users of \textsf{Acrobat~5.0} or later, the document level
JavaScript is automatically inserted when the game is open in
\textsf{Acrobat} for the first time following distillation, provided
the \textsf{PDF} was saved back into the same folder as the source
file. (It is in this folder that \TeX{} has written the DLJS in the
form of an \textsf{FDF} file.)

Finally, do a `\texttt{Save As}\dots' from \textsf{Acrobat} to
save the DLJS that have just been inserted. You are now ready to play!

\section{Jeopardy for Credit}

This section outlines the support implemented to enable the Jeopardy games produced
by {\jj} to be offered up for credit in a relatively secure environment.

\subsection{AeB No Go Pro}

Should you wish to offer a Jeopardy game for class credit or extra
credit, you need to include \cs{contestantName} to allow the ``contestant'' to
enter his/her name.
\bVerb\takeMeasure{\string\contestantName\darg{\ameta{length}}\darg{\ameta{width}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\contestantName{!ameta(length)}{!ameta(width)}
\end{dCmd}
\eVerb
where \ameta{length} and \ameta{width} are the height and width of the text
field. See item \ding{194} of \hyperref[instructionsPage]{Figure~\ref*{instructionsPage}},
page~\pageref*{instructionsPage}.

\CmdLoc Place this command within the \texttt{instructions} environment.

An example of usage:
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\textcolor{red}{\textbf{Name:}}
    \underbar{\contestantName{1.5in}{11bp}}
\end{Verbatim}
In the preamble you can use \cs{afterGameBoardInsertion} to insert material just below
the game board and score board.  Whereas this is a general purpose command, you can
use it to insert a print button
\begin{Verbatim}[xleftmargin=\amtIndent]
  \afterGameBoardInsertion{\medskip\gameboardPrintButton}
\end{Verbatim}
The command \cs{gameboardPrintButton} creates three form fields, a
print-this-page button, a read only text field with the contestant's
name pre-filled (remember, contestant entered her/his name in the
instructions page), and a read only text field that documents when
the contestant first opened the Jeopardy game. There is an optional
argument for \cs{gameboardPrintButton}, this is a standard argument
for changing the appearance of the button (see eForms manual).

The three fields have labels that appear in front of the fields, these labels
can be changed using the following commands:
\bVerb\takeMeasure{\string\contestantNameLabel\darg{\ameta{label for contestant name field}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\printButtonCaption{!ameta(caption on button)}
\printButtonLabel{!ameta(button label)}
\contestantNameLabel{!ameta(label for contestant name field)}
\timestampLabel{!ameta(label for time stamp field)}
\timeStampFormat{!ameta(util.printd formatting string)}
\end{dCmd}
\eVerb
Use \cs{printButtonCaption} to change the text that appears on the
button face, called the button caption.\footnote{This label will be part of the button, it is not part of
{\LaTeX} space, so no formatting is used here.} The argument of
\cs{timeStampFormat} is the formatting string of the
\texttt{util.printd()} method, see the documentation on that method
from the \emph{JavaScript for Acrobat API Reference}.

The defaults are, respectively,
\begin{Verbatim}[xleftmargin=\amtIndent]
\printButtonCaption{Print}
\printButtonLabel{Print this page:}
\contestantNameLabel{Student:}
\timestampLabel{Time stamp:}
\timeStampFormat{mm-dd-yy, H:MM:ss.}
\end{Verbatim}
All the above commands are available for all the drivers.

Should you wish to offer up a Jeopardy game for class credit, the
document needs to be secured. If you have Acrobat, version 5.0 or
later, you can give the document a no-printing attribute to prevent
the students from printing the document and handing it around. Wait,
they need to print the game board and hand it in! So setting the
document on no-printing does not help.

How can we print the game board page, yet not allow the students
to print the questions? The answer to this question is in \Nameref{proOption}.

\subsection{AeB Pro}

The techniques described in this section assume the use of the new
AeB Pro (Acro\,\TeX{} eDucation Bundle Professional).  The
requirement for AeB Pro is the document author, that's you, must use
Acrobat Pro, version 7 or later, and must create PDF using Acrobat
Distiller. If you are not one of these types, read no further;
however, it's okay if you read on, maybe the AeB Pro and its
applications will intrigue you enough to convert to the use of Acrobat Pro and
its little brother Distiller.

\subsubsection{The \texttt{forcredit} Option}\label{forcreditOption}

When you take the \texttt{forcredit} option and are using AeB
Pro,\footnote{If you are not using AeB Pro, this option does
nothing.} JavaScript code is added to the document that prevents the
student (contestant :-) from continuing on to the game board page
(or any of the questions page) without first identifying themselves
in the text field created by the \cs{contestantName} command.

This ``annoyance factor'' guarantees the student has identified
himself before playing the game; hence, no excuses when they
turn in the game board with the name hand written in.

This is just one more piece of the puzzle to the problem of Jeopardy
for credit, but it does not solve the printing problem. See the next
section for that.

\subsubsection{The \texttt{pro} Option}\label{proOption}

The \texttt{pro} option brings in the use of layers from AeB
Pro.\footnote{Adobe refers to layers as optional content groups
(OCG).} Layers are content that are placed in different groups. The
groups can be turned on (made visible) or off (made hidden).

The content of each of the question pages is placed in its own
layer and made hidden. If you scroll to a question page, the
question is not visible, as it is still in a hidden state. When you
arrive on the page \emph{legally} via choosing a cell from the game
board, the layer for that question is made visible.

The layers are given a ``no-print even if visible''
attribute,\footnote{Yes, layers, and AeB Pro can do that!} so if the
student prints the document, the layers do not print!

Adobe Reader and Acrobat have a Layers Navigation Panel through
which layers can be made visible, but {\jj} through AeB Pro locks
the layers. A locked layer means that the document consumer cannot
change the state (visible,  hidden) of the layer through the user
interface. The state of a locked layer can be changed, however,
through JavaScript API, and that is exactly what {\jj} does!

When the \texttt{pro} option is used, Adobe Reader 7.0 or later is
required to view the layers (some JavaScript methods are used that
are first defined in version 7).  To prevent people viewing the game
who do not have at least version 7, you can use the  command
\cs{requiresVersion} from AeB Pro. In the preamble of your game place
\begin{Verbatim}[xleftmargin=\amtIndent]
\requiresVersion{7}
\end{Verbatim}
See the documentation of \cs{requiresVersion} for further details,
and related commands that may be useful. When someone opens the
document that does not have at least version 7, either the document
is closed immediately and an alert box is issued, or if the document
is viewed in a browser, an alert message is displayed, and the user
in redirected to another page on the Internet.

This scheme is not air tight, it can be gotten around, but I'm not
telling.

\section{Two Player Jeopardy!}\label{tpj}

When the \texttt{twoplayer} option is taken, two score boards are
created and the two contestants alternate play. The two contestants
are labeled `Player 1' and `Player 2', the border of the score board
is highlighted to indicate whose turn it is.
There is also a check box with a red dot in it to indicated whose
turn it is. The game plays the same, except the
results of each contestant are tabulated in their respective score
board. The rest of this section describes customizations.

In addition to the key-values of \cs{APScore} discussed earlier, see
\nameref{gamedesign}, page~\pageref*{gamedesign},
the following key-values are specific to the \texttt{twoplayer} option.
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\APScore {
    tpScaledCellWidth: .5,
    tpHighlightBorderColor: 1 0 0
}
\end{Verbatim}
When the \texttt{twoplayer} option is used, \textsf{jj\_game} multiplies the \emph{value} of \texttt{CellWidth}
(as specified in \cs{APScore}) by \texttt{tpScaledCellWidth}; if the resultant value is less than the \cs{cellWidth}
(the width of the cells in the game board), \cs{cellWidth} is used for the width of the \texttt{twoplayer} score boards;
otherwise, the resultant value is used. The default value is \texttt{.5}.

The key \texttt{tpHighlightBorderColor} specifies the highlight color; the color that is used to paint the boundary
of the score board of the player whose turn it is. This value is also used to color the check box, the other indicator
of whose turn it is. The value \texttt{tpHighlightBorderColor} is a three component value in RGB color space; the
default is \texttt{1 0 0} (red). Note that there are \emph{no commas} between the component values.

The \textsf{jj\_game} creates a switch \cs{ifjjgtwoplayer} to signal the \texttt{twoplayer} option. This switch may
be used, for example when specifying the value of \texttt{CellWidth} in \cs{APScore}:

\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\APScore {
    Size: 0,
    tpScaledCellWidth: 1,
    CellWidth: \ifjjgtwoplayer\cellWidth+20pt\else2in\fi,
}
\end{Verbatim}
In the above, for two player mode, we set the cell width of the score fields to be the \cs{cellWidth}
of the cells on the game board plus \texttt{20pt}; otherwise, the width is set to \texttt{2in}.
We also set \texttt{tpScaledCellWidth} to 1 so the calculated width of the two player score fields
will be \verb!\cellWidth+20pt! and not half this value, which is what it would be if
\texttt{tpScaledCellWidth} maintains its default value of .5.\footnote{Actually, if \texttt{tpScaledCellWidth}
were .5, the width of the score fields will be \cs{cellWidth}, see the description of
\texttt{tpScaledCellWidth} above.}

\newtopic The \cs{setTwoPlayerOptions} command allows you to specify some other twoplayer key-values.

\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\setTwoPlayerOptions {
    player1: Player 1,
    player2: Player 2,
    playerFmt: \sffamily\small,
    checkbox: true
}
\end{Verbatim}
When in two player mode, there are two score fields. Beneath these fields are \emph{contestant labels}. The values
of \texttt{player1} and \texttt{player2} are used to specify these labels. (The default values are shown in
the example above.) The playerFmt key is a convenient way of specifying the formatting for the contestant
labels. The default is \verb!\sffamily\small!. Finally, there are two check boxes that appear, in addition to
the two score fields, that indicate the turn. The default is that these check boxes appear, if you say,
\texttt{checkbox: false}, the check boxes are not created.


\section{Additional Customizations}

This section includes many commands for customizing
the look of a Jeopardy game.

\subsection{Customize those Text Strings}

In addition to the many strings already documented earlier in this
manual, there are a few others. These strings are either AcroForm
strings or JavaScript strings, so accents must use octal coding or
unicode. For example, use \verb!\string\344! or \verb!\string\u00E4!
(version 7.0 or later) for \"{a}.

The following strings appear either as text on a button face or as a message
in an alert box. The meaning of each command should be clear.
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\correctText{Right!}
\incorrectText{False!}
\enterNamePlease{Please, enter your name on the first
    page before you begin the game!}
\illegalAccessMsg{You are peeking at this question. Choose a
    question from the game board first! You may want to start
    the game over now!}
\illegalAnswerTwiceMsg{Changing your answer is not allowed!}
\end{Verbatim}
New values of these commands must be entered into the preamble.

There are some strings specific to the \texttt{twoplayer} option:

\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\playeriWinnerMsg{\jjg@playeri\space is the winner!}
\playeriiWinnerMsg{\jjg@playerii\space is the winner!}
\gameTiedMsg{It is all tied up! You are equally matched!}
\bothLosersMsg{You two either are not trying,
    or you do not know anything about the subject!}
\end{Verbatim}
The commands \cs{jjg@playeri} and \cs{jjg@playerii} hold the contestant labels,
as defined by the values of \texttt{player1} and \texttt{player2} of \cs{setTwoPlayerOptions}.
New values of these commands must be entered into the preamble.


\subsection{Graphical Backgrounds}\label{graphicsBGs}

Beginning with version 3.0 of \jj, graphical backgrounds can be inserted into
the Jeopardy game. The basic command for doing this is \cs{template}.
The \cs{template} command is defined in the Web package.  An example
of its usage is
\begin{Verbatim}
\template{myCoolGraphic}
\end{Verbatim}
where \texttt{myCoolGraphic} is a graphic, an EPS file if the driver
is dvips or dvipsone, or a PDF graphic for pdftex. Generally, any
graphic the driver supports.  Place the \cs{template} command
between pages, the graphic will be insert in the next page.

However, to make things even easier, {\jj} defines three commands:
\bVerb\takeMeasure{\string\defineInstructionPageGraphic\darg{\ameta{graphic}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\defineInstructionPageGraphic{!ameta(graphic)}
\defineGameboardPageGraphic{!ameta(graphic)}
\defineQuestionPagesGraphic{!ameta(graphic)}
\end{dCmd}
\endgroup
\CmdLoc Place in the preamble of the document.

\CmdDescription The \cs{defineInstructionPageGraphic} command inserts the
graphic for the instruction page(s). The \cs{defineGameboardPageGraphic} command
inserts the graphic for the game board page.
Finally, \cs{defineQuestionPagesGraphic} inserts the graphic for the question
pages. See the \textcolor{blue}{AeB Manual} for more details on the use of templates.

The \textsf{web} package manages the templates of the document. Web
will resize the graphic to fit the dimensions of the page; as a
result, any graphical design may be slightly or greatly distorted. A
slight distortion may be acceptable, but a large distortion is not.

\redpoint The file \texttt{jeopardy\_demo} demonstrates the work of
Simon Singer and J\"{u}rgen Gilg, both of Germany.  In that game,
there are four categories and five questions per category. The game
was built and the positioning of the various elements of the game
(banners, gameboard, score field, etc.) are then known. Simon
brought each of the three types of pages (instruction, game board,
and question) into Adobe Photoshop and designed graphics that fit
exactly around the various elements.  Using these graphics for the
game then yielded the results you see in the Jeopardy game
\texttt{jeopardy\_demo.pdf}. Very swave!

You may be satisfied with a colorful background, a simple graphic as
a background, or something based on a high skill level, such as what
is demonstrated by Simon Singer and J\"{u}rgen Gilg. In the end, it
is all up to you.

\section{Color Summary}\label{colorscheme}

In this section, a visual presentation of the colors that can be set
through the various commands.

\begin{figure}[ht]
\begin{pspicture}(-2,0)(10,8.5)
\rput[lb](0,0){\includegraphics[scale=0.35]{jj_instructions}}
\psline[linecolor=red]{->}(-0.7,7.25)(0,8)
\rput(-1,7){\NO{1}}
\psline[linecolor=red]{->}(-0.7,6.25)(1.5,7.3)
\rput(-1,6){\NO{2}}
\psline[linecolor=red]{->}(-0.6,5)(2.5,4.8)
\rput(-1,5){\NO{3}}
\end{pspicture}
\caption{Instructions Page}\label{instructionsPage}
\end{figure}

\paragraph{Explanations}
\labelsep20pt\itemsep18pt
\begin{itemize}
\item[\NO{1}] This is the background color of the Instruction page.

\textbf{Setup:} \texttt{fillInstructions: myColor} in the \cs{DeclareColors} command
\item[\NO{2}] These are the colors of the title banner of the Instruction page.

\textbf{Setup:} In the \cs{DeclareColors} command, use \texttt{fillBanner: myColor} for the banner background and
    \texttt{textBanner: myColor} for the banner text

\item[\NO{3}] This is a little special to integrate the user's name to identify who's the one that takes the game.

\textbf{Setup:} \verb!\underbar{\contestantName{1.5in}{11bp}}!
\end{itemize}

\begin{figure}[ht]
\begin{pspicture}(-2,0)(10,8.5)
\rput[lb](0,0){\includegraphics[scale=0.35]{jj_gameboard}}
\psline[linecolor=red]{->}(-0.7,7.25)(0,8)
\rput(-1,7){\NO{4}}
\psline[linecolor=red]{->}(-0.7,6.25)(0.6,7.3)
\rput(-1,6){\NO{5}}
\psline[linecolor=red]{->}(-0.6,5)(0.6,4.8)
\psline[linecolor=red]{->}(-0.6,5)(0.6,5.8)
\rput(-1,5){\NO{6}}
\psline[linecolor=red]{->}(-0.6,4)(3,6)
\rput(-1,4){\NO{7}}
\psline[linecolor=red]{->}(-0.6,3)(3,2.75)
\rput(-1,3){\NO{8}}
\psline[linecolor=red]{->}(-0.6,2)(2.5,1.9)
\rput(-1,2){\NO{9}}
%\psgrid
\end{pspicture}
\caption{Gameboard Page}\label{gameboardPage}
\end{figure}

\paragraph{Explanations}
\labelsep20pt\itemsep18pt
\begin{itemize}
\item[\NO{4}] This is the background color of the Game Board page.

\textbf{Setup:} \texttt{fillGameBoard: myColor} in the \cs{DeclareColors} command.
\item[\NO{5}] These are the colors of the game board Categories.

\textbf{Setup:}  In the \cs{DeclareColors} command, use \texttt{fillBanner: myColor} for the category
background and \texttt{textBanner: myColor} for the category text.

\textbf{Note:} This is named equal to the instructions page and possible to be set locally.
\item[\NO{6}] These are the colors of the game board Cells \textbf{after} the questions are taken.

\textbf{Setup:} \texttt{TextColor: 0 0 0, BorderColor}: 0 0 0, for
the cell text and border color in the \cs{APRight} and \cs{APWrong}
commands. The background color is set up using the
\texttt{fillCells} in the \cs{DeclareColors} command.

\textbf{Note:} Here the colors are defined in the rgb color scheme.
\item[\NO{7}] These are the colors of the game board Cells \textbf{before} the questions are taken.


\textbf{Setup:} For the \cs{APDollar} command, use
\texttt{TextColor: 0 0 0, BorderColor: 0 0 0, FillColor: 0.92
0.67 0.1} for the cell text, border and background color, respectively.

\textbf{Note:} Here the colors are defined in the rgb color scheme.
\item[\NO{8}] These are the colors of the Score field.

\textbf{Setup:} \texttt{BorderColor: 0 0 0, FillColor: 0.92 0.67 0.1} for the Score border and background color in the \cs{APScore} command.

\textbf{Note:} The text color of the score is setup in the colors of the \cs{APRight} and \cs{APWrong} commands, so that the user may quickly see, if she/he is in positive or negative score. A minus is additionally setup if the user lost more points than she/he won.

The customer can choose an individual currency as well.
\item[\NO{9}] This is a print option, to print out the game board, after the game is finished. This may be useful for teachers, to collect the individual results of her/his students. That's the reason, why in the instructions page the name was forced to be filled in. Now the name is as well on the print out.

This is automatically setup when the \texttt{forcredit} option for the {\jj} class is taken.
\end{itemize}

\begin{figure}[ht]
\begin{pspicture}(-2,0)(10,8.5)
\rput[lb](0,0){\includegraphics[scale=0.35]{jj_questions}}
\psline[linecolor=red]{->}(-0.7,7.25)(0,8)
\rput(-1,7){\NO{10}}
\psline[linecolor=red]{->}(-0.7,6.25)(0.6,7.3)
\rput(-1,6){\NO{11}}
\psline[linecolor=red]{->}(-0.6,5)(0.6,6)
\rput(-1,5){\NO{12}}
\psline[linecolor=red]{->}(-0.6,4)(0.4,4)
\rput(-1,4){\NO{13}}
\end{pspicture}
\caption{Questions Page}\label{questionPage}
\end{figure}
\paragraph{Explanations}
\labelsep20pt\itemsep18pt
\begin{itemize}
\item[\NO{10}] This is the background color of the Questions page.

\textbf{Setup:} \texttt{fillQuestions: myColor} in the \cs{DeclareColors} command
\item[\NO{11}] These are the colors of the questions Categories.

\textbf{Setup:} In the \cs{DeclareColors} command, use \texttt{fillBanner: myColor} for the questions category background and
    \texttt{textBanner: myColor} for the questions category text.

\textbf{Note:} This is named equal to the banner of the instructions page and possible to be set locally.
\item[\NO{12}] This is a referring text to the taken question score.

\textbf{Setup:} \texttt{dollarColor:\,myColor} for the referring text color
in the \cs{DeclareColors} command.

\textbf{Note:} Text changes can be done with the command:

\verb!\currencyHeading{\bfseries For~\$\theCurrencyAmt:}!
\item[\NO{13}] This is the color of the links (answer possibilities).

\textbf{Setup:} \texttt{linkColor: myColor} for the link color in the \cs{DeclareColors} command
\end{itemize}


\end{document}