$HELP /
Press a key for information on one of the following topics:
   (X)  Cut
   (C)  Copy
   (P)  Paste
   (E)  Erase
   (J)  Join
   (F)  Find
   (K)  Keymaps
   (S)  Shortcuts
   (Z)  Pictures

Or press one of these keys:
   (O) Cursor Control
   (L) CLAS commands
   (R) CLAS expressions

Press F5 to print out any help screen.  Press F1 to exit.
$HELP Z
The Pictures menu makes it easy for you to use pictures in your CLAS courses.
To load a picture, select Load from the Picture menu.  Once a picture is
loaded, show it with the Show option.  When you are done, free it with Free.

The Set Point option will type in the coordinates of a point for you.  To use
it, select Set Point, and move the mouse to the desired location on the screen.
CLAS will type "$PICTURE MOVE" and the coordinates of that point.  If you
already have part of a command typed, CLAS will finish it.  For example, if you
type "$PICTURE DRAW " and then select a point, CLAS will complete the command
by typing in the two coordinates.

The Set Rectangle will type in the coordinates of the corners of a rectangle.
To use this option, select Set Rectangle, and then move to the upper left
corner of the rectangle you want.  Click the left mouse button once and then
move the mouse to the lower right corner of the rectangle.  Click the left
mouse button once.  CLAS will create a "$PICTURE BOX" command for you.  Here
again, if you have a command half typed, CLAS will complete it with the four
coordinates you need.
$HELP S
There are shortcuts available for the seven basic CLAS commands.  For example,
to start a new course, you may either select $COURSE from the shortcuts menu,
or hold down the right-Amiga key and press 1.  The word "$COURSE" will appear.
You may now type the course title and press RETURN.  Then select $AUTHOR from
the shortcuts menu, or press right-Amiga-2, and the word "$AUTHOR" will appear.
$HELP K
To use different keymaps, select an item from the KEYMAPS menu.  For example,
it you are writing a course in the French language, you should use to right
mouse button to select keymap F from the KEYMAPS menu.

The USA1 keymap is the default for American users.
$HELP P
   1. Using the right mouse button, select the item PASTE from the EDIT menu.
   2. The contents of the cut buffer will be placed at the cursor position.

For advanced users: The cut buffer is actually the file RAM:clipfl; to insert
   other information in a CLAS file, save it as RAM:clipfl, and paste it in
   your course.  Alternatively, just use other editor or word processor.
$HELP E
To erase a block of text:

   1. Using the right mouse button, select the item ERASE from the EDIT menu.
   2. Move the cursor to the first line of the block you want to delete,
       using the up and down arrow keys.
   3. Press RETURN when you find the correct line.
   4. Move the cursor to the last line of the block you want to delete,
       using the same arrow keys (skip this step if you only want
       to delete one line).
   5. Press RETURN when the entire block of text you want to delete
       is highlighted.
$HELP C
To copy a block of text:

   1. Using the right mouse button, select the item COPY from the EDIT menu.
   2. Move the cursor to the first line of the block you want to make a
       copy of, using the up and down arrow keys.
   3. Press RETURN when you find the correct line.
   4. Move the cursor to the last line of the block you want to copy,
       using the same arrow keys (skip this step if you only want
       to move one line).
   5. Press RETURN when the entire block of text you want to copy
       is highlighted.
   6. The block will be copied into a buffer.  You can put the contents of
       this buffer elsewhere using the PASTE command.
$HELP X
To cut a block of text:

   1. Using the right mouse button, select the item CUT from the EDIT menu.
   2. Move the cursor to the first line of the block you want to cut, using
       the up and down arrow keys.
   3. Press RETURN when you find the correct line.
   4. Move the cursor to the last line of the block you want to cut,
       using the same arrow keys (skip this step if you only want
       to move one line).
   5. Press RETURN when the entire block of text you want to cut
       is highlighted.
   6. The block will be placed in a buffer.  You can put the contents of
       this buffer elsewhere using the PASTE command.
$HELP J
To join two lines, either:

   1. Move to the first of the two lines you want to join.
   2. Using the right mouse button, select the item JOIN from the EDIT menu.

or:

   1. Move to the very left of the second of the two lines you want to join.
   2. Press BACKSPACE.
$HELP F
To find a string in your file:

   1. Using the right mouse button, select the item TOP from the MOVE menu
       (the find command will always look for a string starting at the
        current cursor position).
   2. Using the right mouse button, select the item FIND from the SEARCH menu.
   3. Click in the box and type your string (up to 20 characters long).
   4. Press RETURN or click OK to begin the search.
   5. To look for another occurrence of that string, using the right mouse
       button, select NEXT from the SEARCH menu.
$HELP O
Here is a list of cursor control keys:

   ARROW KEYS      move the cursor left, right, up, down, once space at a time.
   SHIFT+UP ARR    moves the cursor up 15 lines.
   SHIFT+DOWN ARR  moves the cursor down 15 lines.
   SHIFT+LEFT ARR  moves the cursor to the very left of the current line
   SHIFT+RIGHT ARR moves the cursor to the very right of the current line
   COMMODORE+T     moves the cursor to the top line
   COMMODORE+B     moves the cursor to the bottom line
   TAB             moves the cursor to the right 3 spaces (there aren't
                     any real tab stops)
   RETURN          moves the cursor to the next line

If you have an Amiga 1000, you have no COMMODORE key; use the LEFT-AMIGA
key instead.
$HELP L
CLAS normally formats lines like a word processor, joining lines together
to produce ragged right margins.  If a line begins with a space, CLAS
will not join it to the previous line.  A blank line starts a new paragraph.

Text in angle brackets ('<' and '>') is replaced by a blank, and the
learner is asked to fill in the blank.

Lines beginning with a dollar sign ('$') are commands.  Here is a list of
commands:

 $COURSE description       Marks the beginning of a course
 $AUTHOR name              Provides information on the author of a course
 $COPYRIGHT description    Provides copyright information for a course
 $LESSON description       Marks the beginning of a lesson
 $PROBLEM                  Marks the beginning of a problem
 $PAGE                     Starts a new page
 $PICK number              Specifies how many $PROBLEM blocks will be presented
 $HINT text                Provides a hint for the learner
 $END                      Marks the end of a file
 $SAY text                 Speaks the text using the Amiga narrator
 $PLAY string              Plays the string of notes in sequence
 $CHORD text               Plays the string of notes all at once
 $SOUND name               Plays a digitized sound
 $FILTER ON                Turns on the high-pass filter for $SOUND commands
 $FILTER OFF               Turns off the high-pass filter for $SOUND commands
 $SPEECH string            Speaks the string of phonemes
 $PICTURE name             Displays a picture
 $FONT name.size           Changes to a new font
 $STYLE ITALIC             Changes to italic type
 $STYLE BOLD               Changes to boldface type
 $STYLE UNDERLINE          Changes to underlined type
 $STYLE NORMAL             Changes to normal type
 $STYLE GREEN              Changes to green type
 $STYLE WHITE              Changes to white type
 $STYLE ORANGE             Changes to orange type
 $STYLE 0                  Changes to color 0 (normally black)
 $STYLE 1                  Changes to color 1 (normally white)
 $STYLE 2                  Changes to color 2 (normally green)
 $STYLE 3                  Changes to color 3 (normally orange)
 $JUSTIFY CENTER           Centers text
 $JUSTIFY RIGHT            Right-justifies text
 $JUSTIFY LEFT             Left-justifies text
 $JUSTIFY NORMAL           Left-justifies text
 $TIMER number             Sets the time limit
 $DELAY number             Waits a specified number of seconds
 $FORMAT GAME              Uses the target game format for right answers*
 $FORMAT NORMAL            Stops using the target game*
 $FORMAT GUESS             Uses the guess format*
 $FORMAT ANSWER            Stops using the guess format*
 $OEM title                Changes the screen title*
 $LOG name                 Logs lesson information to the specified file
 $LANGUAGE name            Prints prints in the specified language*
 $ADJUST col r g b         Changes the screen colors*
 $ADJUST RESET             Resets the screen colors to normal

 (The starred commands can also be placed in the Setup file or between the
 $COURSE and $LESSON commands.  $LOG can only be placed in the Setup file
 only, and not in courses.)


 $PICTURE LOAD name        Loads a picture without displaying it
 $PICTURE SHOW             Shows an already loaded picture
 $PICTURE WAIT             Waits for the learner to press a key or mouse button
 $PICTURE FREE             Frees an already loaded picture
 $PICTURE HIDE             Hides a picture
 $PICTURE BLANK            Loads a blank hi-res picture
 $PICTURE MOVE x y         Moves the pen position to (x,y)
 $PICTURE DRAW x y            Draws from the pen position to (x,y)
 $PICTURE RECT x1 y1 x2 y2    Fills the rectangle with upper left corner at
                              (x1,y1) and lower right corner at (x2,y2)
 $PICTURE BOX n x1 y1 x2 y2   Defines box number n as being the rectangle
                              with upper left corner (x1,y1) and lower right
                              corner (x2,y2)
 $PICTURE DOT x y             Puts a dot at (x,y)
 $PICTURE TEXT text           Writes the specified text at the pen position
 $PICTURE COLOR col           Sets the pen color to col
 $PICTURE HIGHLIGHT n         Highlights box number n briefly
 $PICTURE CYCLE ON            Turns on color cycling
 $PICTURE CYCLE OFF           Turns off color cycling
 $PICTURE ADJUST n r g b      Changes a screen color
 $PICTURE CIRCLE x y rx ry    Draws an circle (ellipse, actually) with center
                              at (x,y) and with horizontal radius rx and with
                              vertical radius ry

 $LET var = expr           Sets the variable var to expr
 
 $WHILE expr               Loops as long as expr is true
 ...
 $DONE
 
 $UNTIL expr               Loops until expr is true
 ...
 $DONE
 
 $REPEAT number            Loops a specified number of times
 ...
 $DONE


 
 $SELECT CASE var          Judges the value of var
 $SELECT                   Judges the value of FILL_IN
 
   $RIGHT x                Counts an answer of "x" right
   $RIGHT x,y              Counts an answer of "x" or "y" right
   $WRONG x                Counts an answer of "x" wrong
   $WRONG x,y              Counts an answer of "x" or "y" wrong
   $CASE x                 Counts "x" neither right nor wrong
   $CASE x,y               Counts "x" or "y" neither right nor wrong
 
   $RIGHT < x              Counts all answers less than x right
   $RIGHT <= x             Counts all answers less than or equal to x right
   $RIGHT > x              Counts all answers greater than x right
   $RIGHT >= x             Counts all answers greater than or equal to x right
   $RIGHT = x              Counts x right
   
   $WRONG < x              Counts all answers less than x wrong, etc.
 
   $CASE < x               Answers less than x are neither right nor wrong, etc.
 
 $END SELECT               Marks the end of a $SELECT block
 
 $GOTO label               Jumps to the line marked "$PAGE label" or
                           "$LABEL label"
 $GOTO START               Jumps to the beginning of the lesson/problem
 $GOTO FINISH              Jumps to the end of the lesson/problem
 $LABEL name               Marks a label
 $PAGE name                Marks a label and starts a new page
 $AREXX name               Executes an ARexx command
$HELP R
Lines may contain one or more {...} groups.  These groups are replaced with
the value of the expression inside the '{' and '}'.  Valid expressions may
contain:

(x + y) = x plus y
(x - y) = x minus y
(x * y) = x times y
(x / y) = x divided by y
(x % y) = the remainder when x is divided by y
(x ^ y) = x to the y power
(x | y) = 1 if x or y is nonzero, 0 otherwise
(x & y) = 1 if x and y are both nonzero, 0 otherwise
(x = y) = 1 if x equals y, 0 otherwise
(x != y) = 1 if x does not equal y, 0 otherwise
(x <> y) = 1 if x does not equal y, 0 otherwise
(x < y) = 1 if x is less than y, 0 otherwise
(x > y) = 1 if x is greater than y, 0 otherwise
(x <= y) = 1 if x is less than or equal to y, 0 otherwise
(x >= y) = 1 if x is greater than or equal to y, 0 otherwise
(!x) = 1 if x is zero, 0 otherwise
(?x) = a random number in the range 1 to x
(+x) = x
(-x) = negative x
sin(x) = the sine of x, where x is in degrees
cos(x) = the cosine of x, where x is in degrees
tan(x) = the tangent of x, where x is in degrees
log(x) = the common logarithm of x
ln(x) = the natural logarithm of x
atn(x) = the arctangent of x, in degrees
notestr(x) = a string representing a note x semitones higher than C
int(x) = the integer portion of x
abs(x) = the absolute value of x
sqrt(x) = the square root of x
pi = 3.1415926535
fill_in = whatever the learner typed at the last <****>
box_num = whichever box the learner clicked
num_right = however many questions the learner has gotten right so far
num_wrong = however many questions the learner has gotten wrong so far
num_problems = however many problems have been presented so far
name_file = the name of the current file
name_course = the name of the current course
name_lesson = the name of the current lesson
timer = however many seconds it took the learner to answer the last question
        on the previous page, or 0 if he or she got it wrong
num_box = a number taken from the number box
target_game = however many shots the learner can shoot the target in, or
              0 if it took more than 3
pal = 1 if CLAS is running on a PAL (European) machine, otherwise 0

Press Q for a table of precedences (if you're interested).
$HELP Q
For the interested, here is a table of precedences.  Operators are listed
in increasing order of precedence, operators on the same line have the
same precedence.  All operators associate left-to-right except !, unary +,
and unary -.  In other words, 5-3-2 = (5-3)-2, not 5-(3-2).

|
&
= != <>
< > <= >=
+ -
* / %
^
! ? unary + unary - (...)

In text strings, {...} has a higher precedence than <...>.
$END
