home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / TOP / USR / MAN / puzzle15.man < prev    next >
Text File  |  2009-11-06  |  9KB  |  217 lines

  1.  
  2.  
  3.  
  4.      PUZZLE15(6)              OS9/68000 V2.1               PUZZLE15(6)
  5.  
  6.  
  7.  
  8.      NAME
  9.           puzzle15 - simulate a well known toy with many variations
  10.  
  11.      SYNOPSIS
  12.           ppuuzzzzllee1155 [<width[x<height>]] [movemethod] [cursormethod]
  13.           [facemethod]
  14.  
  15.      DESCRIPTION
  16.           _P_u_z_z_l_e_1_5 simulates a game that is available in many toy
  17.           shops. This computerized version is crt-oriented and offers
  18.           fewer possibilities for cheating.
  19.           When invoked without arguments _p_u_z_z_l_e_1_5 presents a 4 by 4
  20.           grid with 15 numbered tiles and one empty square.  The tiles
  21.           are not ordered in sequence.  The tiles adjacent to the
  22.           empty square can exchange places with the empty square. This
  23.           is done by indicating the direction that the empty square is
  24.           to move with the vi(1) cursor keys (k for up, j for down, h
  25.           for left and l for right).
  26.           The intention of the game is to rearrange the tiles in their
  27.           ``natural'' sequence.
  28.  
  29.           The program keeps track of the time and the number of moves
  30.           used.  This makes it possible to arrange competitions where
  31.           time, or the number of moves used determines the winner.
  32.  
  33.           The program ends when the tiles are arranged in sequence, or
  34.           when you type your interrupt character (usually ctrl-C or
  35.           break). On computers that lack good support for keyboard
  36.           interrupts a key can be selected that will terminate the
  37.           program. (This is a compile-time option.)
  38.  
  39.      VARIATIONS
  40.           The look and feel of the program can be altered by
  41.           specifying different dimensions for the array, the way that
  42.           the tile to move is selected (movemethod), the keys that
  43.           specify where the cursor is to go (cursormethod) and the
  44.           faces that are shown on the tiles (facemethod).
  45.  
  46.      DIMENSIONS
  47.           The dimensions of the board can be varied within the limits
  48.           of your terminal screen. To obtain a square array a single
  49.           numeric argument is required. _P_u_z_z_l_e_1_5 _3 presents a 3x3
  50.           array with 8 numbered tiles. With numbered tiles it is not
  51.           possible to extend the array beyond 10 by 10, because only
  52.           two digits are used to identify each tile.
  53.  
  54.           To obtain a non-square array an argument that consists of a
  55.           number, the character 'x' and another number must be
  56.           supplied.  _P_u_z_z_l_e_1_5 _6_x_3 presents a grid that is 6 columns
  57.           wide and 3 rows high with 17 numbered tiles.
  58.  
  59.      MOVEMETHODS
  60.           The default movemethod is to indicate the direction that the
  61.           empty (blank) field is to move. This is called _m_o_v_e_b_l_a_n_k.
  62.           There are two other methods that can be selected by an
  63.           argument on the command line.
  64.           _M_o_v_e_t_i_l_e tells _p_u_z_z_l_e_1_5 that you want to indicate the
  65.           direction that an adjacent tile is to be moved. This is
  66.  
  67.  
  68.  
  69.      Page 1                                          (printed 3/20/89)
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.      PUZZLE15(6)              OS9/68000 V2.1               PUZZLE15(6)
  77.  
  78.  
  79.  
  80.           equivalent to reversal of the directions of the cursor keys.
  81.           _S_e_l_e_c_t_t_i_l_e tells _p_u_z_z_l_e_1_5 that you want to indicate the new
  82.           position of the empty field by moving the cursor to that
  83.           position and then typing a <space>, or <return> (or whatever
  84.           you like). In this way you can move several tiles in one
  85.           blow.
  86.  
  87.      CURSORMETHODS
  88.           The default way to move the cursor or the empty field is to
  89.           use the vi(1) cursor keys.
  90.           On some computers it is possible to specify _a_r_r_o_w_k_e_y_s, which
  91.           tells _p_u_z_z_l_e_1_5 to use the arrow keys of your terminal to
  92.           specify a move.
  93.           If you specify _n_u_m_b_e_r_k_e_y_s on the command line, _p_u_z_z_l_e_1_5 will
  94.           use '8' for up, '2' for down, '4' for left and '6' for
  95.           right.  this corresponds to arrows on the numeric key pad of
  96.           most personal computers.
  97.           Another way to specify where the empty field is to go is
  98.           obtained by specifying _f_a_c_e_k_e_y_s on the command line. In this
  99.           mode you move the empty field to a new position by typing
  100.           the character(s) shown on the tile that currently occupies
  101.           that position. _F_a_c_e_k_e_y_s implies use of the movemethod
  102.           _s_e_l_e_c_t_t_i_l_e. If the _f_a_c_e_k_e_y_s cursormethod is used with
  103.           numbered tiles, some tile numbers are shown with leading
  104.           zero. To select such a tile a leading zero is required.
  105.           Tiles that are labeled with a single digit can be selected
  106.           with that digit, or with a leading zero followed by that
  107.           digit.
  108.           Finally you can specify your own cursor movement keys with
  109.           _k_e_y_s <_u_p><_d_o_w_n><_l_e_f_t><_r_i_g_h_t> on the command line. <Up> is
  110.           the key that you will use to move up, etc.
  111.  
  112.      FACEMETHODS
  113.           The default way that _p_u_z_z_l_e_1_5 uses to identify the tiles is
  114.           to number them. If you prefer tiles that are marked with
  115.           letters you must specify _a_l_p_h_a_f_a_c_e_s on the command line.
  116.           _P_u_z_z_l_e_1_5 will now use the lower-case letters a..z to
  117.           identify the tiles.
  118.           Similarly, if you specify _n_u_m_b_e_r_a_l_p_h_a_f_a_c_e_s _p_u_z_z_l_e_1_5 will use
  119.           the digits 0..9 followed by the lower-case letters a..z to
  120.           identify the tiles.
  121.           _A_l_p_h_a_n_u_m_b_e_r_f_a_c_e_s selects the lower-case letters a..z
  122.           followed by the digits 0..9.
  123.           Finally, you can specify the characters to use on the
  124.           command line with _f_a_c_e_s <_f_a_c_e_c_h_a_r_a_c_t_e_r_s>. The order in
  125.           <_f_a_c_e_c_h_a_r_a_c_t_e_r_s> will be used to determine when the tiles
  126.           are ordered.
  127.  
  128.      EXAMPLES
  129.           _p_u_z_z_l_e_1_5 _f_a_c_e_s '_1_2_3_4_5_6_7_8_9_0_q_w_e_r_t_y_u_i_o_p_a_s_d_f_g_h_j_k_l;_z_x_c_v_b_n_m,.'
  130.           _1_0_x_4
  131.           creates a 10 by 4 array filled with the symbols of a
  132.           typewriter keyboard. The position to achieve is the ordering
  133.           of the keys on the typewriter. Quoting is necessary to
  134.           prevent the shell from treating the ``;'' as a special
  135.           character. By adding the option _f_a_c_e_k_e_y_s the program turns
  136.           into a tough typing tutor, especially if you decide not to
  137.           take your eyes off the screen.
  138.  
  139.  
  140.  
  141.      Page 2                                          (printed 3/20/89)
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.      PUZZLE15(6)              OS9/68000 V2.1               PUZZLE15(6)
  149.  
  150.  
  151.  
  152.      DIAGNOSTICS
  153.           An unknown keyword or an illegal combination of keywords on
  154.           the command line generates a complete list of possible
  155.           keywords and restrictions on their combinations.
  156.           If you type an undefined key during the game, the program
  157.           lists the keys that are valid.
  158.           On startup fatal diagnostics from the curses screen handling
  159.           package are possible if your terminal is ill-defined.
  160.           If the program detects an internal error a diagnostic
  161.           starting with the letters _a_a_r_g_h: is printed. If you manage
  162.           to get one of these, I like to know how you did it.
  163.  
  164.      AUTHOR
  165.           P. Knoppers - knop@duteca.UUCP.
  166.           Paul Lew added arrow keys.
  167.           Bo Kullmar added the clock and the move counter.
  168.           Larry Hastings suggested the selecttile method.
  169.  
  170.      COPYRIGHT
  171.           The _p_u_z_z_l_e_1_5 program is protected by copyright (C) 1984,
  172.           1988, 1989 by P. Knoppers. Distribution of unmodified copies
  173.           of the program with source is unrestricted. You are not
  174.           allowed to distribute modified copies. This is to prevent
  175.           uncontrolled spreading of a zillion different versions. You
  176.           can mail suggestions for improvements to me. I _m_a_y
  177.           incorporate them in a future version.
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.      Page 3                                          (printed 3/20/89)
  214.  
  215.  
  216.  
  217.