diff options
Diffstat (limited to 'macros/latex/contrib/jj_game/doc/jjg_man.tex')
-rw-r--r-- | macros/latex/contrib/jj_game/doc/jjg_man.tex | 1332 |
1 files changed, 1332 insertions, 0 deletions
diff --git a/macros/latex/contrib/jj_game/doc/jjg_man.tex b/macros/latex/contrib/jj_game/doc/jjg_man.tex new file mode 100644 index 0000000000..923921ecdc --- /dev/null +++ b/macros/latex/contrib/jj_game/doc/jjg_man.tex @@ -0,0 +1,1332 @@ +% 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} |