%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Project:     VSEP
%% Descr:       VSEP educative programm
%% Author:      Manuel Gutiérrez Algaba <algaba@seul.org>
%% Version 1.0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass[english]{article}
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage[fancyhdr]{latex2man}
\setDate{2000/11/21}    %%%% must be manually set, if rcsinfo is not present
\setVersion{0.1.0}
\setVersionWord{Version}

\begin{document}
\begin{Name}{1}{vsep}{Manuel Gutiérrez Algaba}{vsep}{ vsep: Simple educative programms}
\Prog{vsep} is a set of programms  that runs simple exams.
It's composed of several independent modules.
\subsection{jpypsitechnic}
This is a Java applet that performs IQ tests. Currently it supports
the 'how-many-clocks' IQ test. It uses Java 1.1. You need appletviewer
or a Java compliant browser (Netscape).

\subsection{Old vsep}
It's ready for exams of 
whatever you may think of. Actually you can practice math
and Spanish, but the current examples are \emph{only} examples,
it depends on new addings (of people) to be more usable.\\

It uses \Prog{tcl/tk} so you can use it in Linux and in most platforms
you can imagine. 

\end{Name}

\section{Synopsis}
%%%%%%%%%%%%%%%%%%

\Prog{vsep-simple-math} \\
\Prog{vsep-spanish} \\
\Prog{gipsytechnic} \\

\section{Description}
\Prog{gipsytechnic} : The shell script that launches the appletviewer
of jpypsitechnic. You can launch it directly pointing your 
browser to:
\verb+/usr/lib/vsep-0.1.0/IQ.htm+. (or \verb+/usr/local/lib/...+).
Basic instruction/description:
\begin{itemize}
\item    You can see several rows of clocks. 
\item    The last row has only a clock. That clock is the pattern.
\item     You have to guess how many clocks in the other rows have the same
    time that the 'pattern'.
\item     So, you click the button whose label is the number of clocks
    similar to the pattern.
\item 
    Once you clicked a number labelled button, the answer is stored,
    and a new game is shown ( or the same if there's no more games).
\item
    If you press the 'next' button. You skip the current test.
\item
    If you press the 'end' button, you'll see how many tests you have 
    guessed correctly.
\item The quit button kills the buttonry windows.
\end{itemize}
\begin{itemize}
\item{}
\end{itemize}

\Prog{vsep-simple-math} : Runs a short number of exercises of Math. \\
\Prog{vsep-spanish}: Runs a short number of exercises of Spanish. \\
 
In both cases, you'll see a window with some buttons. At the top row
you'll find the ``problem'' to be solved, and in the second row
and in the vertical column you can choose a possible solution. \\

The different exercises are presented and solved till there's no
more exercises and you quit the game. You can't get back to a 
previous exercise.

\section{Files}
\subsection{jpypsitechnic}
\begin{itemize}
\item
It's made of the shell script that launches it.\\
 \verb+/usr/bin/gypsitechnic+
\item
The jar of the applet. \\
 \verb+/usr/lib/vsep-0.1.0/IQ.jar+
\item
The HTML of the applet. \\
 \verb+/usr/lib/vsep-0.1.0/IQ.htm+
\end{itemize}
Or \verb+/usr/local/lib/..+.
\subsection{old vsep}
As a matter of fact \Prog{vsep-simple-math} and \Prog{vsep-spanish}
are just  simplified versions of the following command :\\
\verb+tcl /usr/lib/vsep/vsep.tcl -g simple_math+ \\
\verb+tcl /usr/lib/vsep/vsep.tcl -g spanish+ \\
So you can invoke them directly. \\
The exams are in that directory or they should if have installed
this as a .rpm, otherwise, run it depending on your installation.\\
\subsection{Local files}
\Prog{jpypsitechnic}\\
None.\\
\Prog{old vsep}\\
If you have a look at the files \File{game1.tcl} and 
\File{game2.tcl}, you'll see that there is contained the 
data of the exams(math and spanish, respectively). You can
have a \\
 \verb+/home/myuser/game1.tcl+  \\
for having more exercises added by yourself. If such files
doesn't exist then it will only use the default files.\\

\section{Program internals: Only for programmers}
\subsection{jpypsitechnic }
Well, there two aspects here. The Java and the python.
The Java that is the game itself.
\begin{itemize}
\item Answers.java   Draw.java        Reloj.java             StepGame.java
\item Buttonry.java  GameIQ.java      RowClocks.java
\item Clock.java     HandsMaths.java  SolutionRecorder.java
\end{itemize}
\begin{itemize}
\item
\end{itemize}
The Python part, that is IQ.py, it's a program that generates
the file GameIQ.java. That is,  IQ.py is the generator of the
game, so whenever you run \verb+python IQ.py+, a new game 
(GameIQ.java) will be written, you'd have to compile it 
and make the Makefile for that.

\subsection{old vsep}
The script is composed of :
\begin{itemize}
\item \File{vsep.tcl} : It parses the args and choose the files for the
games.
\item \File{vsepmain.tcl}:It contains all the subroutines for the user interface.
\item \File{l\_exer.tcl} : Establish the format the exercises are.
\item \File{game1.tcl}: List of exercises of math.
\item \File{game2.tcl}: List of exercises of spanish.
\end{itemize}

\subsection{Format of an exercise}
The scheme is rather flexible, and it allows many possibilities.
Right now, you can choose among two primitives:\\
\verb+gs 16 - 4 >12 11 6 + \\
and \\
\verb+vs "La casa está" "-" "-"  ">en obras" "moviéndose" "comiendo"+

\begin{description}
\item[gs] It takes 6 parameters, param1, param2 and param3 will appear in
 the top row ( problem description ), the params 4 5 6 will appear
in the second row ( possible solutions). So the above example 
is telling , the problem description is ``9 + 3'' and the 
possible solutions are ``12'', ``11'' and ``6'', the right
solutions (one or more) are marked with the \verb+>+ symbol prepended
to the solution (leave no spaces, all together \verb+>+ and 
solution) .
\item[vs] vs is identical, except that it uses ``vertical'' column
of solutions.
\end{description}
In the future (and if people helps) there'll be more exercises.

\section{Wishlist}
Well, comments, money, ... Well, I suppose a great set of exercises,
more complex behaviour. Statistics, login of users...



\section{Author}
Manuel Gutierrez Algaba, algaba@seul.org.
Released under GPL license. I have no responsabilities for misuse, harm,
wrongdoing,... that may arise or be caused by the use of this
software. If you use it, you take all the risks and responsabilities
for it.

\LatexManEnd

\end{document}
