home *** CD-ROM | disk | FTP | other *** search
/ Best of Mega Games for DOS / MEGA.iso / mj / mahjongg.doc < prev    next >
Text File  |  1990-03-22  |  53KB  |  1,089 lines

  1.  
  2.     ┌────────┐                    MAH JONGG                     ┌────────┐ 
  3.     │   ├┤ 3 │         Release 3.3,    March 22, 1990           │ 0  0 8 │
  4.     │   ├┤   │                                                  │ 0  0   │
  5.     │ ├┤  ├┤ │                  Nels Anderson                   │ 0  0   │
  6.     │ ├┤  ├┤ │                 92 Bishop Drive                  │ 0  0   │
  7.     └────────┘              Framingham, MA  01701               └────────┘
  8.  
  9.  
  10.  
  11.        MAH JONGG is an ancient Chinese game whose origins are supposed
  12.        to date back some 3000 years.  This version has similarities to
  13.        solitaire played with cards and also with dominoes since it is
  14.        played with tiles.  When I first discovered the game my initial
  15.        impression was that the game would quickly become dull but having
  16.        played it for a while and having given it to friends we've all
  17.        found that it is quite addictive despite its apparent simplicity.
  18.        
  19.        This program is designed for a PCompatible that can run in EGA
  20.        graphics mode.  If you're still running an older video card I'm
  21.        afraid the game won't work.  (Apparently many people do not
  22.        understand the differences between EGA, CGA, VGA, MDA, etc.;
  23.        basically, if you get a screen full of letters blinking on and
  24.        off when you try to run MAH JONGG you don't have EGA and the
  25.        game will not work on your system.)  When I originally wrote
  26.        MAH JONGG I had never seen a game that used the full EGA
  27.        capabilities (640x350, 16 colors) and I thought it would be nice
  28.        if there was one.  
  29.        
  30.        This version also supports Hercules graphics mode.  Since it's
  31.        monochrome it's not nearly as pretty as EGA but the resolution is
  32.        similar so it's not bad.  The type of video you have is now
  33.        automatically detected, so you should not have to do anything to
  34.        get the right mode.
  35.        
  36.        If your system won't automatically select the right video mode
  37.        for some reason, you can force a specific mode using command line
  38.        parameters as follows:
  39.        
  40.               mahjongg -h          (forces Hercules graphics mode)
  41.               mahjongg -e          (forces full color EGA graphics mode)
  42.               mahjongg -l          (forces monochrome EGA graphics mode)
  43.        
  44.        I hadn't planned on doing any versions other than EGA, but
  45.        Hercules turned out to be so easy I figured, why not?  Recently,
  46.        several people suggested adding a monochrome EGA mode for laptop
  47.        systems that have an EGA compatible LCD or similar display.
  48.        Since I'd already done all the work of making monochrome look
  49.        right for the Hercules version, this was easy to add too.  I
  50.        don't have versions for other video adapters and I don't have any
  51.        plans for them since I don't consider any of the lower resolutions
  52.        adequate.
  53.        
  54.        Under the Shareware system you may freely try out this
  55.        program, but if you continue to use it you are expected to
  56.        register with the author and pay the $15 registration fee.  In
  57.        return for your registration you'll receive the latest version
  58.        of the game, including a setup program that allows you to
  59.        permanently set the command line options; this utility is not
  60.        included with the shareware version.  There is also a "deluxe"
  61.        version available which includes a binder, printed manual and
  62.        quick reference card.  The "deluxe" version is $20.
  63.  
  64.        When you register, please let me know what version you have
  65.        and I'd also be interested in knowing where you got it from.
  66.        Please, make sure to put your name and address on the letter!
  67.        It's amazing how many people don't do this.  Or, you can use
  68.        the instant registration form in the file "orderfrm.txt".
  69.        Just copy the file to your printer.
  70.  
  71.        If you live outside the U.S., the best way to register appears
  72.        to be by using postal money orders.  I've received these from
  73.        quite a few countries.  In general, foreign checks are not
  74.        accepted by U.S. banks (Canadian checks are an exception, but
  75.        please allow for the difference in U.S. and Canadian dollars).
  76.        EuroCheques, for example, are not acceptable to the bank.
  77.  
  78.        If you don't understand the term "Shareware" please read the
  79.        file "sharewre.txt".
  80.  
  81.        If you have any suggestions or discover any problems with the
  82.        program you can reach me via the )(evious BBS (PCBoard) system
  83.        (300/1200/2400/9600-HST, 8N1) at 508-875-3618 or 617-449-7322.
  84.        Leave a C)omment to the sysop to reach me.  )(evious is the
  85.        official support BBS for all my software and the latest versions
  86.        are always available for downloading there.  There is also a
  87.        support conference for people to exchange game tips or ask
  88.        questions.  J)oin conference #31 and check out the latest tips.
  89.        Also check B)ulletin #1 for the latest versions list. 
  90.        
  91.        You can also reach )(evious through RelayNet.  If there's a
  92.        RelayNet board in your area send a routed message to me at node
  93.        XEVIOUS.  The Shareware conference would be the best choice,
  94.        but if that's not available try TPascal, Games or even Common.
  95.  
  96.        I'm also available through CompuServe's EasyPlex mail system.
  97.        Send email to me at 71020,2613.
  98.  
  99.        Of course you can also write me at the address at the beginning
  100.        of this file.  If you're not a registered user don't expect an
  101.        answer unless you include a self-addressed, stamped envelope.
  102.        
  103.        Most of the instructions you'll need for playing the game are
  104.        built into it; just type H when prompted at the title screen.
  105.        Or you can read the instructions below.  There is quite a bit
  106.        of strategy involved if you are to do well but I'll leave the
  107.        strategies up to you to discover.  Besides, I'm no expert in
  108.        playing the game either.
  109.  
  110.  
  111. *****************************************************************************
  112. *                             PLAYING THE GAME                              *
  113. *****************************************************************************
  114.  
  115.  
  116.        OBJECT:
  117.        
  118.           The object of the game is to remove as many of the tiles from
  119.           the playing board as possible within the rules of the game.
  120.           Tiles are always removed in pairs and can only be removed from
  121.           the left or the right edges. Any tile that is not on a left or
  122.           right edge is considered blocked and cannot be removed. Note
  123.           though that the tiles are arranged in 5 levels and each level
  124.           has a left and right edge so there are many more unblocked
  125.           tiles than it would first appear. Note that the tile on the
  126.           top of the pile blocks all four tiles below it, and tiles on
  127.           row 5 block both rows 4 and 6.
  128.  
  129.        SUITS OF TILES:
  130.  
  131.           There are many different suits of tiles and the suit of a tile
  132.           determines the rule used for matching tiles that can be removed
  133.           together.
  134.           
  135.        MATCHING RULES:
  136.            
  137.           Most of the tile suits require an exact match. This means that
  138.           you must match a tile to another that is exactly the same. For
  139.           example a Bamboo 1 matches another Bamboo 1 but does not match
  140.           a Bamboo 3 or a Dot 1. The other matching rule allows any tile
  141.           in the same suit to match any other tile in that suit. Thus,
  142.           any of the four seasons (SUM, AUT, WIN, SPR) match each other
  143.           and any of the four flowers (MUM, PLUM, BAM, ORC) match each
  144.           other.
  145.        
  146.        NUMBER OF TILES:
  147.        
  148.           There is only one each of SUM, AUT, WIN, SPR, MUM, PLUM, BAM,
  149.           and ORC.  There are four of each of the other tiles for a
  150.           total of 144 tiles on the board. A counter keeps track of how
  151.           many tiles are left in play.  If you want to see what tiles
  152.           you have removed so far, hit F2 (though some might consider
  153.           this cheating!).
  154.            
  155.        ALTERNATE TILE SETS:
  156.  
  157.           Mah Jongg can be played with tile sets other than the
  158.           traditional Chinese tiles that are the default.  These
  159.           alternate sets can be selected using the command line
  160.           option "-u" or from the setup menu.  All tile sets are
  161.           stored in files with names ending in ".til"; you do not
  162.           need to include the ".til" when entering the file name.
  163.  
  164.           Though these tiles will obviously look different from the
  165.           standard set the same rules of play still apply; you will
  166.           just have to determine which tiles correspond to which of
  167.           the original suits.
  168.  
  169.           See the section "USING TILEMAKER" for information on
  170.           making your own tile sets.
  171.  
  172.        BOARD LAYOUT:
  173.        
  174.           If you're using a mouse to play you don't need to worry about
  175.           the board coordinates; you just point and click.  Many game
  176.           commands are also there as "keys" that can be clicked on.  If
  177.           you don't have a mouse, read on...
  178.           
  179.           The game board is a grid marked by letters and numbers. You
  180.           select tiles by entering a letter for the column and a number
  181.           for the row.  Order doesn't matter, entering A5 is the same as
  182.           5A. The single tile on the topmost level is H5.
  183.           
  184.           The numbering of the rows is a bit confusing. Row 5 only
  185.           exists at the very top level and at the extreme left and right
  186.           edges. Rows 4 and 6 are actually adjacent to each other.
  187.              
  188.           If after you've selected your first tile you change your mind,
  189.           just hit 'Enter' instead of your second tile selection. After
  190.           you've selected both tiles you are asked to confirm your
  191.           selection with a Y or N before the tiles are removed.
  192.        
  193.        COMMANDS:
  194.            
  195.           There are commands you can enter in addition to just selecting
  196.           tile coordinates.  Some are accessed by hitting a single letter
  197.           followed by hitting the <Enter> key; others are accessed by
  198.           just hitting one of the function keys:
  199.  
  200.              A   starts the same board again.
  201.              H   will give you help selecting tiles.  If you ask for
  202.                  help at the first tile prompt, you will first be told
  203.                  if there are any moves left, then you may choose to
  204.                  see any or all of them by hitting Y or N when asked.
  205.                  If you ask for help when selecting the 2nd tile it
  206.                  will show you any playable matches for the first tile
  207.                  you selected.
  208.              N   starts a new game; the next consecutive board number
  209.                  is used.
  210.              Q   will quit the game and return to DOS.
  211.              R   reloads a saved game.
  212.              S   saves your game.
  213.              U   undo the last move.  Can be used as many times as you
  214.                  want until all moves have been undone. (F4 does the
  215.                  same thing).
  216.              Z   restore a move that was undone.  This is the reverse
  217.                  of the undo function.  You can undo and restore as many
  218.                  moves as you want. (F6 does the same thing).
  219.              F1  will display a summary of commands and other information.
  220.              F2  will show the tiles you've removed so far.
  221.              F3  goes to the set up screen.
  222.              F4  will undo your last move.
  223.              F5  shows you your playing statistics.
  224.              F6  will undo your last undo (e.g., it will remove the tiles
  225.                  again).
  226.              F7  goes to the tournament set up screen.
  227.              F10 shells to DOS.  Type 'EXIT' to return to the game.
  228.           
  229.           If you are using a mouse, many of these commands are available
  230.           as push buttons along the left side of the screen. Just slide
  231.           the cursor over the command you want and click. Hitting the
  232.           right mouse button is a short-cut way of asking for help. See
  233.           the section on using the mouse below.
  234.              
  235.           In summary, the commands are:
  236.  
  237.                  Q:  Quit       N:  New game (next board)
  238.                  H:  Help       A:  Again (replay same board)
  239.                  S:  Save       R:  Restore
  240.                  F1: Commands   F2: Tiles played so far
  241.                  F3: Set up     F4: Undo last move (U also works)
  242.                  F5: Stats      F6: Undo last undo (Z also works)
  243.                 F10: DOS shell  F7: Tournament set up
  244.           
  245.        COMMAND LINE OPTIONS:
  246.        
  247.           Mah Jongg has a large number of options that can be
  248.           selected when starting up the game.  Most of these can
  249.           also be set using the setup screen, or if you have the
  250.           registered version you can use the mahsetup.exe utility to
  251.           make your selections permanent.
  252.  
  253.           By making these options available on the command line you
  254.           can set up batch files that will run Mah Jongg in
  255.           different ways; for example, if two different people play
  256.           on the same computer you could have separate batch files
  257.           for each person where each one would load a different
  258.           statistics file.
  259.  
  260.           The available options are:
  261.           
  262.                  -n   No title page
  263.                  -m   use Mouse
  264.                  -bx  play Board x (0 <= x <= 65535)
  265.                  -tx  Timed game (x=length in minutes)
  266.                  -cx  background Color x (0 <= x <= 15)
  267.                  -dx  mouse cursor color x (0 <= x <= 15)  
  268.                  -fn  File n is the statistics file
  269.                  -un  Use tile set in file n
  270.                  -y   no Y/N prompt after selecting tiles
  271.                  -h   run in Hercules graphics mode
  272.                  -e   run in full color EGA graphics mode
  273.                  -l   run in Laptop (monochrome EGA) mode
  274.                  -li  run in Laptop mode with inverse video
  275.  
  276.           The command line options are done in a standard way but if
  277.           you're not familiar with this sort of thing they may be
  278.           confusing so here are some examples.
  279.              
  280.           Command line option examples:
  281.           
  282.           If you want to play a game that will be timed for 10 minutes,
  283.           the command line would be:
  284.           
  285.                                      MAHJONGG -T10
  286.           
  287.           Notice there is no space between the -T and the number of
  288.           minutes (10).  The other commands work the same way.  To use
  289.           a different set of tiles, stored in the file "flags.til",
  290.           the command line would be:
  291.           
  292.                                   MAHJONGG -UFLAGS.TIL
  293.           
  294.           You can combine commands too, so to play board 12345 as a 10
  295.           minute timed game the command line would be:
  296.           
  297.                                  MAHJONGG -T10 -B12345
  298.           
  299.           Remember, there is also a setup screen that allows you to
  300.           select any of the options that are available on the
  301.           command line.  Just hit S from the title screen to go to
  302.           setup.  You can also access setup at any time during a
  303.           game by hitting the F3 key or by clicking the mouse on the
  304.           button labelled "setup".
  305.              
  306.           If you forget the command line options, just start up the game
  307.           with an invalid option and it will give you the proper usage
  308.           (i.e., try using "mahjongg -?" which since it is not a valid
  309.           option with give the valid option list).
  310.              
  311.        STATISTICS:
  312.        
  313.           It seems that a lot of players are interested in game
  314.           statistics, so the game now keeps track of some statistics for
  315.           you automatically.  A file is made that keeps track of all the
  316.           board numbers you've played, which ones you've won, your best
  317.           and worst scores, etc.
  318.  
  319.           You can view some of your stats from within the game by hitting
  320.           the F5 key.  The separate utility program, "statgen" can be run
  321.           on your stats file to give a more complete report.  Just type
  322.           "statgen" to run it, give it the path and name of your stats
  323.           file when requested, and a complete report will be shown on
  324.           your screen.  For more details, see the section on statgen later
  325.           in these docs.
  326.  
  327.           If you have several people playing on the same PC they can each
  328.           have their own statistics by using the select statistics file
  329.           command line option, -fn where n is the name of the file.  For
  330.           example, if Fred and Dick both use the same PC, Fred might start
  331.           the game as:
  332.           
  333.                                    MAHJONGG -FFRED.STT
  334.           
  335.           and Dick might start the game as:
  336.           
  337.                               MAHJONGG -F\DICKSDIR\DICK.STT
  338.           
  339.           To disable keeping of statistics, use -f with no file name on
  340.           your command line.
  341.        
  342.        TOURNAMENTS:
  343.            
  344.           You can play Mah Jongg as a tournament against other players.
  345.           In a tournament each person plays a single board under the
  346.           exact same conditions (same board number and same time limit,
  347.           if any), allowing their results to be compared and a winner to
  348.           be determined.
  349.  
  350.           You enter the tournament set up screen either by using the T
  351.           option from the title screen or by hitting F7 at any time
  352.           during a game. The first player sets up the tournament by
  353.           selecting the board number (or by just leaving the one that
  354.           was randomly chosen) and whether or not the game will be
  355.           timed.  After the selections are made the first player enters
  356.           his name and plays the game.  A record is kept of his results
  357.           and the results of each additional person who plays the
  358.           tournament.
  359.              
  360.           If you go to the tournament screen by accident or just to see
  361.           the current standings, you can leave the screen without
  362.           entering the tournament by entering Q.
  363.              
  364.           If there is already a tournament started but you want to start
  365.           a new one, enter 'N'.  This will let you set up a new
  366.           tournament as was described above.  Tournament records are
  367.           kept in a file called "mah.trn" so you can also start a new
  368.           tournament by deleting this file.
  369.        
  370.        USING A MOUSE:
  371.        
  372.           If you have a mouse driver installed on your computer it will
  373.           automatically be detected when the game starts and mouse play
  374.           will be selected.  If for some reason your mouse is not being
  375.           automatically detected you can still select it from the setup
  376.           screen or by using the -m option on the command line.  You can
  377.           also use the setup screen to turn off the mouse if you wish.
  378.  
  379.           The game was tested using a Mouse Systems PC Mouse and a Genius
  380.           GM-6 mouse but any Microsoft-compatible mouse will probably
  381.           work.  When using a mouse most commands can be issued using the
  382.           mouse.  You must have your mouse driver installed as a device
  383.           in your config.sys file for Mah Jongg to be able to use the
  384.           mouse.
  385.              
  386.           The mouse interface is a bit different from what you're
  387.           probably used to but it seems to be easy enough to use.  Tiles
  388.           are selected by moving a colored outline over them and then
  389.           clicking once.  To de-select the first tile, just click on it
  390.           a second time.  After selecting both tiles a line with the
  391.           options "Y/N" (yes/no) comes up.  If you just click without
  392.           moving the mouse you'll select yes and the tiles will be
  393.           removed.  Slide the mouse left and right to change your
  394.           selection.
  395.  
  396.           Several people suggested going away with the Y/N move confirm-
  397.           ation, so it's now optional.  Disable Y/N prompts either with
  398.           the command line option "-y" or through the setup screen.
  399.  
  400.           Many commands available during the game (help, new, undo, file,
  401.           setup, quit) are available as "keys" along the left side of
  402.           the screen.  Move the outline over the command you want and
  403.           click once.  
  404.              
  405.           "Help" and "Quit" require a yes or no confirmation so you
  406.           won't do them by accident.  Slide the mouse left and right to
  407.           select yes or no and then click.  The help command first asks
  408.           if you want to see matching tiles (if there are no more
  409.           matches it will tell you that instead) and then prompts for a
  410.           yes or no to see each additional matching pair of tiles.  If
  411.           you ask for help after you've already selected the first tile
  412.           a search for matching free tiles takes place.  If a match is
  413.           found, it is highlighted and all you need to do is confirm to
  414.           remove the pair of tiles.  If no match is found it puts you
  415.           back to select the first tile again.  There is a short-cut for
  416.           mouse users to invoke help.  Just hit the right mouse button
  417.           to get help in selecting either tile.  Normally it doesn't
  418.           matter which mouse button you use.
  419.           
  420.           "New" lets you end the current game and either replay the same
  421.           board or go on to the next board.  You will be prompted to
  422.           select either "next" or "again" to either go on to the next
  423.           consecutive board or to play the same board again.
  424.              
  425.           "Undo" replaces the last two tiles you removed.  You can undo
  426.           as many times as you want until all 144 tiles are back on the
  427.           board.  Undo does not ask for any confirmation.  Undo actually
  428.           allows you to replay your entire game both forward and
  429.           backward.  Clicking the left mouse button restores tiles that
  430.           were removed and clicking the right mouse button takes the
  431.           tiles back off again.
  432.              
  433.           "File" lets you either save the game at its current point or
  434.           load a previously saved game.  You are prompted to choose
  435.           between "load" and "save" and finally to confirm that you
  436.           really want to do it.
  437.              
  438.           "Setup" brings you to the set up screen, the same as hitting
  439.           "S" from the title screen.  You can then change colors, set
  440.           timed games, disable the mouse, select a specific board, etc.
  441.           Changing colors, enabling the mouse or changing tile sets will
  442.           not effect the game in progress; when you exit set up you will
  443.           be back at the same point in the game that you were at when
  444.           you entered set up.
  445.              
  446.           Any error messages that appear during the game (i.e. "Invalid
  447.           Selection") normally stay visible for a few seconds before
  448.           allowing play to continue.  To immediately remove a message
  449.           and resume play just click the mouse or hit a key.
  450.  
  451.        USING STATGEN:
  452.  
  453.           Since v3.2, Mah Jongg has come with a utility called
  454.           statgen.exe.  This program allows you to analyze and modify
  455.           the statistics file that is kept each time you play the game.
  456.  
  457.           To run the statistics generator, just type "statgen" on a 
  458.           line by itself.  You'll be prompted for the filename of your
  459.           statistics file and you'll be asked if you want to edit 
  460.           (enter a letter E) or just display (enter a D) your current
  461.           statistics.
  462.  
  463.           If you select display, you'll be shown your total games
  464.           played, average score, number won and worst score.  Then a
  465.           list of all board numbers won and another list of additional
  466.           boards played will be shown.
  467.  
  468.           If you select edit you can change the list of boards played
  469.           and won to include boards you played before v3.2.  Just
  470.           select edit and you'll first be prompted for the boards
  471.           you've won.  Enter one board number per line and finally
  472.           enter a -1 when you're done.  Then you'll enter the list of
  473.           additional boards played but not won in the same way.  Again
  474.           you enter a -1 when done.  After you're done editing statgen
  475.           will show you your current stats so you can confirm that
  476.           you've entered everything correctly.
  477.  
  478.           You can also enter statgen's parameters from the command
  479.           line.  The first parameter is the statistics file name and
  480.           the second is either -e (to edit) or -d (to display).  If
  481.           you only enter one parameter display is assumed.  For
  482.           example, to edit the statistics file "stats.me" the command
  483.           line would be
  484.  
  485.                              statgen stats.me -e
  486.  
  487.           There is also a "batch mode" available for those of you who
  488.           have kept your records in a database.  You'll need to transfer
  489.           your games played and games won list into a straight ASCII text
  490.           file with one board number per line and a -1 after the end of
  491.           the won board list and another -1 at the end of the file.  For
  492.           example, if you've played boards 100, 101 and 102 and played
  493.           and won boards 200 and 201 your file would look like this:
  494.  
  495.           200
  496.           201
  497.           -1
  498.           100
  499.           101
  500.           102
  501.           -1
  502.  
  503.           Save this file under whatever name you choose.  For this example
  504.           we'll say it was saved with the filename "temp".  Then, to read
  505.           these board numbers into your statistics, run statgen as follows:
  506.  
  507.                               statgen mahstats -b < temp
  508.  
  509.           This assumes that statgen is in your current directory, your
  510.           stats file is called mahstats and it also is in the current
  511.           directory and your list of boards is in the file temp.  After
  512.           temp has been read in, your new stats will be displayed to
  513.           verify that everything worked.  Suggestion:  before running in
  514.           batch mode, make a backup copy of your stats file in case
  515.           something goes wrong.
  516.  
  517.        USING TILEMAKER:
  518.  
  519.           The Tile Maker utility allows you to make your own sets of
  520.           tiles or modify sets made by others including the standard
  521.           Chinese mahjongg tiles.  
  522.  
  523.           The utility is similar to many paint programs with which
  524.           you might be familiar, though because of its specialized
  525.           nature it includes less functions.  Tile Maker can be
  526.           controlled with your mouse or keyboard, but unlike Mah
  527.           Jongg itself it only supports EGA (no Hercules).
  528.  
  529.        How tiles are stored on disk:
  530.  
  531.           First, some basics about working with tile sets.  A Mah
  532.           Jongg tile set includes 42 different tiles.  Eight of them
  533.           are in the "wild card" suits (normally the flowers and
  534.           seasons suits) where any tile in the suit matches any
  535.           other.  The other 34 tiles use the standard matching rule
  536.           where there are four of each tile on the board and the
  537.           tiles must be matched exactly to be removed.  You'll want
  538.           to keep the game rules in mind when designing your tiles.
  539.  
  540.           All 42 tiles are stored in a single disk file.  You'll
  541.           need to know how the tiles are numbered so that you store
  542.           your new tiles in the proper place.  For reference, the
  543.           standard tile set is numbered as follows:
  544.  
  545.                       Tiles 1 - 9:  suit of dots
  546.                           Tile 10:  white dragon
  547.                     Tiles 11 - 19:  suit of bamboo
  548.                           Tile 20:  green dragon
  549.                     Tiles 21 - 29:  suit of characters
  550.                           Tile 30:  red dragon
  551.                     Tiles 31 - 34:  suit of winds
  552.                     Tiles 35 - 38:  suit of seasons
  553.                     Tiles 39 - 42:  suit of flowers
  554.  
  555.           You have three sets of tiles that you can start with.  The
  556.           file "mahjongg.til" is the standard tile set.  The file
  557.           "flags.til" is a tile set made out of world flags.  Note
  558.           how the flags are organized into suits: countries in the
  559.           Americas are tiles 1-9, countries in Europe are tiles
  560.           11-19, countries in Asia are tiles 21-29, African
  561.           countries replace the dragons and winds, and special flags
  562.           and compass points are used for the wild card suits so
  563.           they look distinctly different from the normal suits.
  564.           Finally, the file "blank.til" is a full set of blank
  565.           tiles.  Also included is a file with only a single tile,
  566.           "temp.til" which is a template for making the world flags
  567.           set.  Using a template like this is important to ensure
  568.           that the object on the tiles align properly.
  569.  
  570.        Getting Started:
  571.  
  572.           Start up tilemakr.exe by typing "tilemakr" on the command
  573.           line; there are no command line options.  Note the drawing
  574.           area on the left and the command area on the right.  If
  575.           you're using a mouse you can just point to a command and
  576.           click; if you're using the keyboard use the letter next to
  577.           the command.
  578.  
  579.           Most of the commands are self-explanatory.  Reading a tile
  580.           file will first show you all tiles in the file and then
  581.           allow you to select by number the tile you want.  When
  582.           saving a file you'll need to remember the numbered
  583.           position in the file that you want to save it to.  The
  584.           number of the last tile read in is displayed in the lower
  585.           right corner of the screen.
  586.  
  587.           After you've loaded a file once you can use the "re-read"
  588.           command to get a new tile without waiting for disk access.
  589.           You can also review the complete set of current tiles
  590.           using the "view last images" command.  The full tile set
  591.           is always kept in memory to let you access it.  This screen
  592.           is not updated by the save command however.
  593.  
  594.        Drawing:
  595.  
  596.           Normal drawing can be done with the keyboard or mouse.
  597.           Using the mouse, select the desired color by pointing at
  598.           the color chart and clicking.  Then to draw just point at
  599.           the drawing area and click on each spot where you want to
  600.           draw.
  601.  
  602.           If you're drawing with a mouse there are a few basic drawing
  603.           shapes available in addition to the simple dot.  Under the
  604.           drawing area is a set of push buttons where you can select
  605.           dots, line, circle, rectangle, filled circle or box.  Click
  606.           on the desired button and you'll see it push in to confirm
  607.           proper selection.
  608.  
  609.           When using the line or rectangles, move the mouse cursor to
  610.           one end (corner) and hold down the mouse button.  Then move
  611.           to the other end (corner) and release the button.  When using
  612.           the circles you start in the center and pull away until the
  613.           circle is the desired size.  You can pull in any direction
  614.           since the circle is symmetrical.
  615.  
  616.           Drawing with the keyboard requires typing the letter or
  617.           number of the desired color, then moving the cursor around
  618.           with the arrow keys and finally hitting space when you
  619.           want to draw a dot.
  620.  
  621.        Additional Drawing Functions:
  622.  
  623.           The "fill" command works a bit differently from paint
  624.           programs, because it only fills up from the starting
  625.           point.  This is handy at times because you don't have to
  626.           close off the bottom of the area you're going to fill.  If
  627.           you have a very irregularly shaped area you may have to
  628.           use fill more than once to fill it all.  Note that fill
  629.           works from the position of the keyboard cursor, not from
  630.           where the mouse points.
  631.  
  632.           The "flip", "rotate" and "shift" functions all work with
  633.           only the face of the tile.  They also force a one pixel
  634.           border around the edge of the tile surface, so you'll want
  635.           to be careful not to shift things past this border (unless
  636.           that's what you want to do!).
  637.  
  638.           When you're done with your tile set, use the "N" (add Name)
  639.           function.  The name you enter will be displayed at the
  640.           bottom of the screen when playing Mah Jongg.
  641.  
  642.           The best thing to do is get the tile maker running and
  643.           experiment.  You'll find designing good tiles is quite a
  644.           challenge, but it will allow you to have your own
  645.           personalized version of the game when you're done.
  646.  
  647.        Share Your Creations!
  648.  
  649.           If you develop any tile sets you'd like to share please
  650.           upload them to the support BBS (Xevious: 508-875-3618) or
  651.           mail them to the author on a diskette.  I'd suggest that
  652.           you include a text file describing your tile set and of
  653.           course you should include your name in it.  I'm looking
  654.           forward to seeing what you come up with!
  655.  
  656.  
  657.        TECHNICAL NOTES
  658.  
  659.           Many people write asking about how certain aspects of Mah
  660.           Jongg work.  This section is intended to cover the most
  661.           asked questions.
  662.  
  663.           "How are the different boards created?"
  664.  
  665.           There are 65,536 different board layouts available.  The
  666.           arrangements are random or at least as random as possible.
  667.           The game starts with a scrambled pile containing all 144
  668.           tiles (an array for you programmer types).  Then, it goes
  669.           through and takes the tiles one at a time at random from
  670.           the pile and places them on the board.
  671.  
  672.           "OK, if the boards are random how is it that board #1 is
  673.           always the same?"
  674.  
  675.           Computer random number generators don't generate truly
  676.           random numbers.  They actually generate a specific series
  677.           of numbers that are essentially distributed randomly.  For
  678.           most purposes the distinction doesn't make a difference.
  679.           Random number generators are generally started up by
  680.           giving them a "seed".  The seed itself needs to be
  681.           somewhat random since the same seed will always generate
  682.           the same series of numbers.
  683.  
  684.           Mah Jongg takes advantage of this feature.  The board
  685.           number is actually the random number generator seed and so
  686.           each seed always generates the same series of numbers and
  687.           thus the same board layout.  The Turbo C language allows
  688.           seeds to be values from 0 to 65535 which is why Mah Jongg
  689.           has 65536 possible boards.
  690.  
  691.           "Can all boards be won?"
  692.  
  693.           Definitely not.  But then that's true of just about any
  694.           type of solitaire game.  After playing enough boards
  695.           you're certain to run into situations where three of the
  696.           same tile are stacked on top of each other or similar
  697.           things that result in a board that cannot be beaten.
  698.  
  699.           It appears, though, that a large percentage of boards can
  700.           be beaten.  A number of people have put great effort into
  701.           solving series of consecutive boards, playing the same
  702.           board over and over until beaten.  Their results indicate
  703.           that 50-75% of all boards can be won.
  704.  
  705.           "Can I get a CGA version?"
  706.  
  707.           CGA?  Blech.  Would you really want to play Mah Jongg on a
  708.           screen with only 1/4th the pixels and only four ugly
  709.           colors?  It just wouldn't be the same...
  710.  
  711.           Actually, several people have attempted to do it.  The
  712.           results are about what you'd expect though.
  713.  
  714.           "OK, how about a VGA version?"
  715.  
  716.           Sure, this could be done but would it really be worth it?
  717.           The appearance of the board would not be significantly
  718.           different from the EGA version, since VGA is still limited
  719.           to 16 colors.  The vertical resolution does improve from
  720.           350 to 480 pixels but that would be about the only
  721.           difference, and from what I've seen comparing other
  722.           programs it wouldn't be all that noticeable.
  723.  
  724.           Now SuperVGA is a different story.  The problem here is
  725.           that SuperVGA is not a standard (IBM invented VGA but does
  726.           not support SuperVGA).  But what mode to support?  640x480?
  727.           800x600 (wouldn't THAT be nice)?  Having 256 colors would
  728.           make some really beautiful tile sets possible, but until a
  729.           real standard is available it's just too difficult to try
  730.           to support all the different video boards.
  731.  
  732.           "What language is Mah Jongg written in?"
  733.  
  734.           Mah Jongg is written in Turbo C.  I originally used v1.0
  735.           but am now using v2.0.  Since Turbo C v1.0 did not have
  736.           the graphics library that later versions include, Mah
  737.           Jongg is done entirely with my own graphics routines.
  738.  
  739.           "Can I get the source code?"
  740.  
  741.           Sorry, the source code is not available.
  742.  
  743.  
  744.        REVISION HISTORY:
  745.           
  746.             NEW IN 3.3:
  747.  
  748.               Alternate tile sets can be used
  749.  
  750.               Y/N prompts can be disabled
  751.  
  752.               New "victory" screen
  753.  
  754.               Hercules mode bug fix
  755.  
  756.             NEW IN 3.2:
  757.  
  758.               "Boss Mode" has been replaced by a true shell to DOS
  759.  
  760.               Records kept of boards played and won:
  761.                 If the current board has been played before, an asterisk
  762.                 will appear next to the board number; if the board has
  763.                 been won, the word "WON" will appear next to the board
  764.                 number
  765.  
  766.               Separate statistics generator program displays your stats
  767.               plus list of boards played and won
  768.  
  769.               Improved accuracy of average score statistic
  770.  
  771.               Automatically enables mouse play if mouse driver detected
  772.  
  773.               Exit screen written directly to memory instead of using ANSI
  774.  
  775.             NEW IN 3.1:
  776.        
  777.               Stats no longer overflow
  778.  
  779.               Stats now correctly update when you win a game
  780.        
  781.               Tournament set up screen now available during game
  782.        
  783.               Automatically detects EGA and Hercules cards
  784.        
  785.               Monochrome EGA selectable for LCD laptop computers
  786.        
  787.               Command line parameters can be made permanent using
  788.               setup program (available to registered users only)
  789.        
  790.             NEW IN 3.0:
  791.           
  792.               Runs in Hercules graphics mode
  793.        
  794.               Game statistics kept for current game and for all games
  795.               played
  796.           
  797.               Undo command (both forward and backward)
  798.           
  799.               Set up screen available during game
  800.           
  801.               Tile corners now display properly
  802.           
  803.             NEW SINCE 2.6:
  804.           
  805.               Fixed bug in tournament mode (stats weren't being saved)
  806.           
  807.               A list of all pairs of tiles played so far is available by
  808.               hitting the F2 key
  809.           
  810.             NEW SINCE 2.5:
  811.           
  812.               Mouse cursor color is now selectable from command line or
  813.               setup screen
  814.           
  815.               When playing a tournament game your score was not always
  816.               saved if you completed the board; this is now fixed
  817.           
  818.             NEW SINCE 2.3:
  819.           
  820.               Help screen -- hit F1 to get a list of commands, options,
  821.               and some basic playing tips
  822.           
  823.               "Boss Mode" -- hit F10 to hide the game and display a
  824.               harmless looking disk directory
  825.           
  826.               New tournaments can be started from within the tournament 
  827.               setup screen
  828.           
  829.               After winning a game, answering "Y" to play again gives
  830.               you a different board instead of the same one over again
  831.           
  832.               Requesting to quit when selecting the second tile now asks
  833.               for a confirmation
  834.           
  835.             NEW SINCE 2.2:
  836.           
  837.               Columns entered as letters instead of numbers; rows and
  838.               columns can be entered in any order as a result
  839.           
  840.               Several tiles redrawn
  841.           
  842.             NEW SINCE 2.1:
  843.           
  844.               ATI EGAWonder card problem work around added
  845.           
  846.               Mouse cursor display sped up (possible fix to NEC EGA
  847.               card problem of not showing mouse cursor)
  848.           
  849.             NEW SINCE 2.0:
  850.           
  851.               Help on 2nd tile selection (find match to 1st tile if any)
  852.           
  853.               Help available with right mouse button as a short-cut
  854.           
  855.               Error messages can be cancelled by clicking the mouse
  856.           
  857.               Confirmation required for mouse action "keys" to prevent
  858.               accidents
  859.           
  860.             NEW SINCE 1.0:
  861.           
  862.               Mouse support
  863.           
  864.               Setup screen, allows access to all game options more easily
  865.               than through command line options
  866.           
  867.               Tournament play
  868.           
  869.               Selectable background color
  870.           
  871.               New commands during play
  872.                 A  (play same board Again)
  873.                 N  (play New board)
  874.           
  875.               More command line options
  876.                 -cx (background Color)
  877.                 -r  (Restart saved game)
  878.                 -m  (use Mouse)
  879.           
  880.               More authentic tile appearance
  881.           
  882.               Faster tile displaying
  883.           
  884.        
  885.        WINNING
  886.  
  887.           Not all boards are win-able but during testing a number of
  888.           boards that are beatable were found.  In addition, many people
  889.           who have written to register their copy of Mah Jongg have
  890.           included lists of boards they have completed.  If you want to
  891.           play a board that definitely can be won, try one of the
  892.           following:
  893.              
  894.           55598, 49070, 64856, 15784, 29514, 54176, 40060, 8, 44213, 21,
  895.           43, 148, 290, 302, 329, 364, 370, 386, 410, 421, 459, 560,
  896.           627, 634, 656, 695, 735, 743, 795, 819, 827, 839, 858, 876,
  897.           888, 890, 905, 936, 952, 985, 1034, 1037, 1066, 1101, 1104,
  898.           1138, 1145, 1149, 1154, 1207, 1241, 1244, 1296, 1313, 1346,
  899.           1365, 1390, 1392, 1428, 1430, 1490, 1543, 55309, 43924, 47924,
  900.           38313, 23986, 45355, 55082, 6843, 52079, 50333, 24654, 64557,
  901.           14, 54438, 2, 52916, 32141, 62500, 50408, 5119, 8694, 12224,
  902.           27869, 47615, 49522, 56447, 4113, 6108, 36785, 38382, 54586,
  903.           36607, 63202, 4540, 21015, 1132, 37696, 20009, 19619, 42246,
  904.           56809, 5336, 61319, 15037, 33357, 52158, 63866, 41619, 48165,
  905.           13692, 17604, 40284, 47779, 57572, 13932, 4236, 4243, 24942,
  906.           15318, 59498, 50542, 41121, 4344, 38110, 26208, 307, 32812,
  907.           16496, 16213, 47788, 65123, 36792, 16965, 3989, 63331, 40111,
  908.           54491, 43421, 10796, 56185, 40640, 433, 9619, 8922, 800,
  909.           20926, 1, 23, 56, 7971, 21399, 32381, 33212, 36836, 48094,
  910.           53751, 58094.
  911.           
  912.           Enjoy!
  913.  
  914.  
  915. *****************************************************************************
  916. *                              INCLUDED FILES                               *
  917. *****************************************************************************
  918.  
  919.        The following files are included in Mah Jongg:
  920.  
  921.          MAHJONGG.EXE    Mah Jongg program
  922.          MAHJONGG.DOC    This file
  923.          MAHJONGG.TXT    A brief description of Mah Jongg
  924.          ORDERFRM.TXT    Ready to print registration form
  925.          SHAREWRE.TXT    Information on Shareware
  926.          STATGEN.EXE     Statistics generator program
  927.          TILEMAKR.EXE    Tile set editing utility
  928.          MAHJONGG.TIL    Standard tile set
  929.          FLAGS.TIL       Flags of the world tile set
  930.          FLAGS.TXT       Text file describing FLAGS.TIL
  931.          BLANK.TIL       Full set of blank tiles
  932.          TEMP.TIL        Single blank tile template
  933.  
  934.        You are free to pass this program along to friends, give it to
  935.        user groups, upload to BBS's, etc. with the understanding that
  936.        anyone who continues to use the game is required to register it.
  937.        All these files MUST be included when distributing this program.
  938.        If you archive the program for distribution through BBS's, please
  939.        use the name MAHJNG33.ZIP (or .LZH, .PAK, etc. as appropriate).
  940.  
  941.  
  942. *****************************************************************************
  943. *                                REGISTRATION                               *
  944. *****************************************************************************
  945.  
  946.        Please remember that Mah Jongg is not free software.  As with
  947.        all Shareware you are expected to purchase it after you've given
  948.        it a reasonable trial.
  949.  
  950.        The registration price for Mah Jongg is $15, for which you'll
  951.        receive by return mail a copy of the latest version, a setup
  952.        utility that lets you make your command line options permanent,
  953.        and possibly another Shareware game to try out.
  954.  
  955.        Several other games are available from the same author.  If you
  956.        register more than one game at the same time, a discount is
  957.        available.  Register the first game for $15 and then each additional
  958.        game is only $10.  For example,
  959.  
  960.                  $15 to register Mah Jongg
  961.                  $25 to register Mah Jongg plus one other game
  962.                  $35 to register Mah Jongg and two other games
  963.                      etc.
  964.  
  965.        Games currently available include Shooting Gallery, EGATrek,
  966.        CIPHER and BassMap.
  967.  
  968.        A deluxe version of Mah Jongg is also available.  This includes a
  969.        storage case, printed manual, quick reference card, plus the
  970.        registered version of the game.  This version is available for
  971.        $20.  No discount is available on this version.
  972.  
  973.  
  974. *****************************************************************************
  975. *                           DISCLAIMER OF WARRANTY                          *
  976. *****************************************************************************
  977.  
  978.        This software is sold "as is", without any warranty as to performance
  979.        or any other warranties whether expressed or implied.  Because of the
  980.        many hardware and software environments into which this program may
  981.        be used, no warranty of fitness for a particular purpose is offered.
  982.        The user must assume the entire risk of using the program.  Any
  983.        liability of the seller will be limited exclusively to product
  984.        replacement or the refund of the registration fee.
  985.  
  986.  
  987. *****************************************************************************
  988. *                   ASSOCIATION OF SHAREWARE PROFESSIONALS                  *
  989. *****************************************************************************
  990.  
  991.        This software is produced by Nels Anderson who is a member of the
  992.        Association of Shareware Professionals (ASP).  ASP wants to make sure
  993.        that the shareware principle works for you.  If you are unable to
  994.        resolve a shareware-related problem with an ASP member by contacting
  995.        the member directly, ASP may be able to help.
  996.  
  997.        The ASP Ombudsman can help you resolve a dispute or problem with an
  998.        ASP member, but does not provide technical support for members'
  999.        products.  Please write to the ASP Ombudsman at P.O. Box 5786,
  1000.        Bellevue, WA 98006, USA or send a CompuServe message via easyplex to
  1001.        ASP Ombudsman 70007,3536.
  1002.  
  1003.  
  1004. *****************************************************************************
  1005. *                            FINDING MAH JONGG                              *
  1006. *****************************************************************************
  1007.  
  1008.        The best place to find Mah Jongg updates, tile sets, etc.
  1009.        is on Xevious, the official support board.  In addition, I
  1010.        will upload updates as available to the following BBS's:
  1011.  
  1012.           Channel One (Cambridge, MA):  617-354-8873
  1013.           Sound Advice (Gladstone, MO):  816-436-4516
  1014.           Master's (Garden Grove, CA):  714-539-2477
  1015.           Xevious (Framingham, MA):  508-875-3618
  1016.  
  1017.  
  1018. *****************************************************************************
  1019. *                            AVAILABLE SOFTWARE                             *
  1020. *****************************************************************************
  1021.  
  1022.        Other software which I've either written or contributed to:
  1023.        
  1024.        EGATREK:   Space strategy battle game, using full EGA graphics,
  1025.                   based on the classic minicomputer game.  Winner of
  1026.                   Public Brand Software's 1988 software contest.
  1027.        
  1028.        MAHJONGG:  Solitaire game played with Chinese tiles.  Supports
  1029.                   EGA and Hercules graphics; mouse optional.  See reviews
  1030.                   in December 1988 "PCWorld" and April 1989 "Compute!".
  1031.        
  1032.        SHOOTG:    "Shooting Gallery" tests your aim and reflexes in a
  1033.                   number of different rounds of shooting.  Uses MCGA/VGA
  1034.                   graphics mode for 256 colors and and also requires
  1035.                   a mouse.
  1036.  
  1037.        CIPHER:    A crypto-quotes type word game that runs in full color
  1038.                   VGA or EGA graphics mode.  Can be played with a mouse
  1039.                   or keyboard.  Also supports text modes.
  1040.  
  1041.        MOUSTOOL:  A collection of utilities for Turbo Pascal programmers
  1042.                   wishing to incorporate mouse input in their programs.
  1043.                   Sample programs included for both EGA and CGA graphics.
  1044.                   Used extensively within CIPHER.
  1045.        
  1046.        SOUNDPAS:  A collection of utilities for Turbo Pascal programmers
  1047.                   to add music and sound effects to their programs.
  1048.                   Includes units for interrupt and real time sounds.
  1049.         
  1050.        BASSTOUR:  (Written by Dick Olsen).  Game that simulates a fishing
  1051.                   tournament, including rod and lure selection.  Runs in
  1052.                   EGA/CGA/MCGA/Hercules graphics modes.  Uses many of the
  1053.                   utilities from MOUSTOOL.
  1054.        
  1055.        BASSMAP:   Companion program for BassTour which allows lakes to be
  1056.                   created or modified.  EGA and CGA versions included.
  1057.        
  1058.        CALLDOOR:  A PCBoard 14.x door that lets users view the system caller
  1059.                   log.  Logs for any node can be viewed in reverse order
  1060.                   (i.e., most recent caller back) or the logs can be searched
  1061.                   for any string.
  1062.  
  1063.        WAITDV:    A sysop's utility that allows synchronizing of nightly
  1064.                   house keeping events on a multinode system.  WAITDV was
  1065.                   written especially for systems running under DESQview: it's
  1066.                   DV-aware so the active task runs much faster than it would
  1067.                   if a non-aware wait utility was used.
  1068.  
  1069.        TOPPERS:   A PCBoard 14.x sysop utility that generates a formatted
  1070.                   list of the board's top users (by number of calls,
  1071.                   downloads and uploads).  The output file has three columns,
  1072.                   one for each category.  Graphics and non-graphics output
  1073.                   is available.
  1074.        
  1075.        TOPTALK:   A PCBoard 14.x sysop utility that tracks user activity in
  1076.                   conferences based on number of messages posted.  Included
  1077.                   is a complete record of all user activity plus a bulletin
  1078.                   file of the top ten most active message posters.
  1079.        
  1080.        GROUPERS:  A PCBoard 14.x game door.  Players gamble on the outcome
  1081.                   of the next card drawn from the deck.  The game is set up
  1082.                   to run as a monthly contest and keeps track of current
  1083.                   scores, generates a current scores bulletin and an end of
  1084.                   month final scores bulletin.
  1085.  
  1086.                                   - - - - -
  1087.  
  1088.   Mah Jongg is copyright (c) 1987-1990 by Nels Anderson.  All rights reserved.
  1089.