ÚÄÄÄÄÄÄÄÄ¿ MAH JONGG ÚÄÄÄÄÄÄÄÄ¿ ³ ô 3 ³ Release 4.2 September 1, 1994 ³ 0 0 8 ³ ³ ô ³ ³ 0 0 ³ ³ ô ô ³ Nels Anderson ³ 0 0 ³ ³ ô ô ³ 585 Edmands Road ³ 0 0 ³ ÀÄÄÄÄÄÄÄÄÙ Framingham, MA 01701 ÀÄÄÄÄÄÄÄÄÙ U.S.A. Mah Jongg solitaire is based on an ancient Chinese game whose origins are supposed to date back some 3000 years. This version has similarities to solitaire played with cards and also with dominos since it is played with tiles. When I first discovered the game my initial impression was that the game would quickly become dull but having played it for a while and having given it to friends we've all found that it is quite addictive despite (or maybe because of) its apparent simplicity. The program requires an MS-DOS compatible PC that can run 640x350, 16 color graphics. Either EGA or VGA video cards are capable of handling this video mode. If you're still running an older video card I'm afraid the game won't work. (Apparently many people do not understand the differences between EGA, CGA, VGA, MDA, etc.; basically, if you get a screen full of letters blinking on and off when you try to run Mah Jongg you don't have the necessary video mode and the game will not work on your system.) When I originally wrote Mah Jongg I had never seen a game that used the hi-res 16 color mode and I thought it would be nice if there was one. This version also supports Hercules graphics mode. Since it's monochrome it's not as pretty but the resolution is similar so it's not bad. The type of video you have is automatically detected, so you should not have to do anything to get the right mode. I hadn't planned on doing any versions other than EGA, but Hercules turned out to be so easy I figured, why not? Several people suggested adding a monochrome EGA mode for laptop systems that have an EGA compatible LCD or similar display. Since I'd already done all the work of making monochrome look right for the Hercules version, this was easy to add too. I don't have versions for other video adapters and I don't have any plans for them since I don't consider any of the lower resolutions adequate. If your system won't automatically select the right video mode for some reason, you can force a specific mode using DOS command line parameters as follows: mahjongg -h (forces Hercules graphics mode) mahjongg -e (forces full color EGA graphics mode) mahjongg -l (forces monochrome EGA graphics mode) Under the Shareware system you may freely try out this program, but if you continue to use it you are expected to register with the author and pay the $15 (+ $2 S/H) registration fee. In return for your registration you'll receive the latest version of the game with the shareware notices removed, a setup program that allows you to permanently set the game options, plus additional tile sets and board layouts. There is also a "deluxe" version available which adds a binder, printed manual and quick reference card; the actual game software is identical to the standard version. The "deluxe" version is $22 (+ $4 shipping). Please note that all prices are U.S. dollars and that there is a $2 surcharge for 3.5" disks. If you live in the U.K. you can register through Nildram Software. Please print the file "UKORDER.TXT" for an order form all ready to go or just send #12.95 to: Nildram Software 82 Akeman Street Tring Herts HP23 6AF When you register, please let me know what version you have and I'd also be interested in knowing where you got it from. Please, make sure to put your name and address on the letter! It's amazing how many people don't do this. Or, you can use the instant registration form in the file "ORDERFRM.TXT". Just copy the file to your printer using the DOS copy command ("copy orderfrm.txt prn" will do it). If you live outside the U.S., the best way to register appears to be by using postal money orders. I've received these from quite a few countries. In general, foreign checks are not accepted by U.S. banks (Canadian checks are an exception, but please allow for the difference in U.S. and Canadian dollars). EuroCheques, for example, are not acceptable to the bank. You can also charge your registration to VISA or MasterCard. If you don't understand the term "Shareware" please read the file "SHAREWRE.TXT". If you have any suggestions or discover any problems with the program you can reach me via the )(evious BBS (PCBoard) system (supports 300 through 28800 bps, HST/v.32/v.34, 8N1) at 508-788-6951. Leave a C)omment to the sysop to reach me. )(evious is the official support BBS for all my software and the latest versions are always available for downloading there. There is also a support conference for people to exchange game tips or ask questions. J)oin conference #31 and check out the latest tips. Also check B)ulletin #1 for the latest versions list. You can registered Mah Jongg while on Xevious using your VISA or MasterCard. Once logged in, use the command "CREDIT" and just answer the prompts. You can also reach )(evious through RelayNet. If there's a RelayNet board in your area send a routed message to me at node XEVIOUS. The Shareware conference would be the best choice, but if that's not available try Games or even Common. I'm also available through CompuServe. Send email to me at 71020,2613. Or join me and many other Shareware authors in the Shareware forum (GO SHAREWARE). Internet users can reach me this way by using the address 71020.2613@compuserve.com. Of course you can also write me at the address at the beginning of this file. If you're not a registered user please include a self-addressed, stamped envelope. Most of the instructions you'll need for playing the game are built into it; just type H when prompted at the title screen. Or you can read the instructions below. There is quite a bit of strategy involved if you are to do well but I'll leave the strategies up to you to discover since that's half the fun. ***************************************************************************** * PLAYING THE GAME * ***************************************************************************** OBJECT The object of the game is to remove as many of the tiles from the playing board as possible within the rules of the game. Tiles are always removed in pairs and can only be removed from the left or the right edges. Any tile that is not on a left or right edge is considered blocked and cannot be removed. Note though that the tiles are arranged in 5 levels and each level has a left and right edge so there are many more unblocked tiles than it would first appear. Note that the tile on the top of the pile blocks all four tiles below it, and tiles on row 5 block both rows 4 and 6. SUITS OF TILES There are many different suits of tiles and the suit of a tile determines the rule used for matching tiles that can be removed together. MATCHING RULES Most of the tile suits require an exact match. This means that you must match a tile to another that is exactly the same. For example a Bamboo 1 matches another Bamboo 1 but does not match a Bamboo 3 or a Dot 1. The other matching rule allows any tile in the same suit to match any other tile in that suit. Thus, any of the four seasons (SUM, AUT, WIN, SPR) match each other and any of the four flowers (MUM, PLUM, BAM, ORC) match each other. NUMBER OF TILES There is only one each of SUM, AUT, WIN, SPR, MUM, PLUM, BAM, and ORC. There are four of each of the other tiles for a total of 144 tiles on the board. A counter keeps track of how many tiles are left in play. If you want to see what tiles you have removed so far, hit F2 or right click on the Help button (though some might consider this cheating!). ALTERNATE TILE SETS Mah Jongg can be played with tile sets other than the traditional Chinese tiles that are the default. These alternate sets can be selected using the command line option " -u" or from the setup menu. All tile sets are stored in files with names ending in ".til"; you do not need to include the ".til" when entering the file name. When using the " -u" command line option to load tile sets you have several options. You can choose a specific tile set (i.e., use the command "mahjongg -uflags.til") or you can have any tile set chosen at random ("mahjongg -u*") or you can randomly choose a tile set that matches a specification of your choice (i.e., "mahjongg -ua*.til"). Though these tiles will obviously look different from the standard set the same rules of play still apply; you will just have to determine which tiles correspond to which of the original suits. While playing you can hit the F8 key to see the full current set of tiles. In some sets of tiles you'll see that all four tiles in what was originally the seasons or flowers suits be the same. This effectively makes these suits work the same as the others, with each tile requiring an exact match. See the file "TILEMAKR.DOC" for information on making your own tile sets using the Tile Maker utility. ARCHIVING TILE SETS Tile sets can take up a lot of disk space, especially if you have a large collection of them. Mah Jongg gives you the option of compressing them using the archiver of your choice. To do this, you need to put each tile set file in a separate archive file. Both files should have the same name except for the extension (for example, if you are using PKzip you would put the tile set "MAHJONGG.TIL" in the archive file "MAHJONGG.ZIP"). To tell Mah Jongg to use archived tile sets you either use the " -i" command line option (i.e., to use "*.ZIP" files you'd start up Mah Jongg with the command line "mahjongg -i*.zip") or you can use the setup menu. Once you've done this any tile sets loaded via the command line options or the setup menu will be selected from the files with the extension you specified. You can also use this feature to specify a different directory where your tile sets are kept. For example, if you are using "*.ZIP" files and keep them on your C: drive in a subdirectory called "TILES", you can tell Mah Jongg to use these tile sets with the command line "mahjongg -ic:\tiles\*.zip". In the setup menu you would use the archiver type setting and enter "c:\tiles\*.zip". You can also do this if your tile sets are not archived; just use "*.TIL" as the file specification. You can use any archiver you want, as Mah Jongg shells out and runs the archiver via a batch file called "TILEARCH.BAT". The batch file included with Mah Jongg knows how to handle the following archive types: ZIP, LZH, PAK, ARJ. If you wish to use a different archiver you can simply by selecting it when starting Mah Jongg and by editing the batch file. If you take a look at "TILEARCH.BAT" you'll find it's quite straightforward and anyone with experience writing batch files will have little trouble modifying it. Note that you must have the archiver program you selected either somewhere on your path or in the same disk directory as Mah Jongg. If you are using .ZIP files you also have the option of putting many tile sets into a single archive file. To access the tiles in a file of this type specify the full .ZIP file name in either the setup menu (under item B) or using the " -i" command line option. You can include a full path if necessary. Once you've done this, selecting the load tile set function from the setup screen will display a list of all tile sets within the .ZIP file and you can then choose and load the one you want. BOARD LAYOUT If you're using a mouse to play you don't need to worry about the board coordinates; you just point and click. Many game commands are also there as "keys" that can be clicked on. If you don't have a mouse, read on... The game board is a grid marked by letters and numbers. You select tiles by entering a letter for the column and a number for the row. Order doesn't matter, entering A5 is the same as 5A. The single tile on the topmost level is H5. The numbering of the rows is a bit confusing. Row 5 only exists at the very top level and at the extreme left and right edges. Rows 4 and 6 are actually adjacent to each other. If after you've selected your first tile you change your mind, just hit the Enter key instead of your second tile selection. After you've selected both tiles they will immediately be removed. If you want, you can have the game ask you to confirm your move first by using the " -y" command line option or by enabling the Y/N prompts option from the setup menu. As an alternative to using the coordinates you can use a "keyboard mouse". This allows you to use the arrow keys to move a cursor to the tile you want which is then selected by hitting the Enter key. You enable the keyboard mouse the same way you would a real mouse, by using the " -m" command line option or by selecting it in the setup menu. ALTERNATE BOARD ARRANGEMENTS The default tile arrangement is a sort of pyramid shape sometimes called "the dragon". In addition to this traditional shape you can play using a number of other arrangements. Some arrangements will be much easier to solve than the default while others will be nearly impossible. You'll also find that you'll need to modify your playing stategy to match the arrangement. Board arrangements can be selected from the setup menu or from the command line using the " -a" option. On a few arrangements some of the free tiles are not obvious--they may look blocked when they really aren't. Just remember the definition of a blocked tile: another tile must block it on the left, right, and directly above. COMMANDS There are commands you can enter in addition to just selecting tile coordinates. Some are accessed by hitting a single letter followed by hitting the Enter key; others are accessed by just hitting one of the function keys: A starts the same board again. H will give you help selecting tiles. If you ask for help at the first tile prompt, you will first be told if there are any moves left, then you may choose to see any or all of them by hitting Y or N when asked. If you ask for help when selecting the 2nd tile it will show you any playable matches for the first tile you selected. N starts a new game using a different board number. Q will quit the game and return to DOS. R reloads a saved game; pick the one you want from a list. S saves your game as MAH#####.SAV, where ##### is the board number. U undo the last move. Can be used as many times as you want until all moves have been undone. (F4 does the same thing). Z restore a move that was undone. This is the reverse of the undo function. You can undo and restore as many moves as you want. (F6 does the same thing). F1 will display a summary of commands and other information and also let you view or print Mah Jongg text files. F2 will show the tiles you've removed so far. F3 goes to the setup screen. See SETUP SCREEN section below. F4 will undo your last move. F5 shows you your playing statistics. F6 will undo your last undo (e.g., it will remove the tiles again). F7 goes to the tournament setup screen. F8 displays the current tile set and associated text file. For Mah Jongg to be able to find the text file description of the tile set the main part of the file names must be the same and the text file must have the extension .TXT or .DOC. F10 shells to DOS. Type 'EXIT' to return to the game. If you are using a mouse, many of these commands are available as push buttons along the left side of the screen. Just slide the cursor over the command you want and click. Hitting the right mouse button is a short-cut way of asking for help. See the section on using the mouse below. In summary, the commands are: Q: Quit N: New game (different board) H: Help A: Again (replay same board) S: Save R: Restore a saved game F1: Commands F2: Tiles played so far F3: Setup F4: Undo last move (U also works) F5: Stats F6: Undo last undo (Z also works) F10: DOS shell F7: Tournament setup F8: Displays current tile set COMMAND LINE OPTIONS Mah Jongg has a large number of options that can be selected when starting up the game. To do this, the options must be entered on the DOS command line along with the command to start Mah Jongg itself. Options can also be set using the setup screen, or if you have the registered version you can use the "MAHSETUP.EXE" utility to make your preferences permanent. By making these options available on the command line you can set up batch files that will run Mah Jongg in different ways. For example, if two different people play on the same computer you could have separate batch files for each person where each one would load a different statistics file. The available options are: -n No title page -m use Mouse (or keyboard mouse) -m1 use keyboard Mouse even if real mouse installed -bx play Board x (0 <= x <= 65535) -b Boards are selected randomly -tx Time limited game (x=length in minutes, 30 maximum) -t Timed game, timer goes up starting at 0:00 -cx background Color x (0 <= x <= 15) -dx mouse cursor color x (0 <= x <= 15) -fn File n is the statistics file -f don't keep statistics -un Use tile set in file n (-u* loads random tile set) -an use board Arrangement in file n (-a* for random layout) -y Y/N prompt after selecting tiles -g report Game over automatically -w on Win show statistics -p Peek at remaining tiles when no more moves -h run in Hercules graphics mode -e run in full color EGA graphics mode -l run in Laptop (monochrome EGA) mode -li run in Laptop mode with inverse video -x disable fireworks in victory screen -in tile sets are archived files with extension n -s self play; Mah Jongg plays by itself--makes a handy screen saver The command line options are done in a standard way but if you're not familiar with this sort of thing they may be confusing. Here are some examples. Command line option examples: If you want to play a game that will be timed for 10 minutes, the command line would be: MAHJONGG -T10 Notice there is no space between the " -T" and the number of minutes (10). The other commands work the same way. To use a different set of tiles, stored in the file "FLAGS.TIL", either of these two command lines would work: MAHJONGG -UFLAGS.TIL MAHJONGG -UFLAGS To use a randomly selected tile set, use a wild card specification instead of a specific file name, such as: MAHJONGG -U* MAHJONGG -UA*.TIL You can combine commands too, so to play board 12345 with a clock that counts up from 0:00 the command line would be: MAHJONGG -T -B12345 Remember, there is also a setup screen that allows you to select any of the options that are available on the command line. Just hit S from the title screen to go to setup. You can also access setup at any time during a game by hitting the F3 key or by clicking the mouse on the button labelled "setup". STATISTICS It seems that a lot of players are interested in game statistics, so the game keeps track of some statistics for you automatically. A file is made that keeps track of all the board numbers you've played, which ones you've won, your best and worst scores, etc. It also keeps track of the last board you played so you can play each board in order if you want. By default, this file is saved in the current directory under the name "MAHSTATS". You can delete the file to reset your stats. You can view some of your stats from within the game by hitting the F5 key. In addition if you select a board number that you've previously played before, according to your stats file, an asterisk will be displayed next to the board number at the bottom of the screen. If it's a board you had won before the word "WON" will display instead of the asterisk. The separate utility program "STATGEN.EXE" can be run on your stats file to give a more complete report. Just type "statgen" to run it, give it the path and name of your stats file when requested, and a complete report will be shown on your screen. For more details, see the section on USING STATGEN. If you have several people playing on the same PC they can each have their own statistics file. The statistics file name can be entered from the setup screen or by using the command line option " -fn" where n is the name of the file. For example, if Fred and Dick both use the same PC, Fred might start the game as: MAHJONGG -FFRED.STT and Dick might start the game as: MAHJONGG -F\DICKSDIR\DICK.STT To disable keeping of statistics, use " -f" with no file name on your command line or via the setup screen by hitting the Enter key without entering a name. Please note that statistics are only kept when playing the default board layout. TOURNAMENTS You can play Mah Jongg as a tournament against other players. In a tournament each person plays a single board under the exact same conditions (same board number and same time limit, if any, etc.), allowing their results to be compared and a winner to be determined. You enter the tournament setup screen either by using the T option from the title screen or by hitting F7 at any time during a game. The first player sets up the tournament by selecting the board number (or by just leaving the one that was randomly chosen) and whether or not the game will be timed. After the selections are made the first player enters his name and plays the game. A record is kept of his results and the results of each additional person who plays the tournament. If you go to the tournament screen by accident or just to see the current standings, you can leave the screen without entering the tournament by hitting the ESC key. If there is already a tournament started but you want to start a new one, enter 'N' instead of your name. This will let you set up a new tournament as described above. Tournament records are kept in a file called "MAH.TRN" so you can also start a new tournament by deleting this file. USING A MOUSE If you have a mouse driver installed on your computer it will automatically be detected when the game starts and mouse play will be selected. If for some reason your mouse is not being automatically detected you can still select it from the setup screen or by using the " -m" option on the command line. You can also use the setup screen to turn off the mouse if you wish. When using a mouse most commands can be issued using the mouse. You must have your mouse driver installed as a device in your "CONFIG.SYS" file for Mah Jongg to be able to use the mouse. The mouse interface is a bit different from what you're probably used to but it seems to be easy enough to use. Tiles are selected by moving a colored outline over them and then clicking once. To de-select the first tile, just click on it a second time. After selecting the second tile, if you've selected a valid match, both tiles will be removed. If you wish, you can have the game ask you to confirm your move before the tiles are removed from the board. This option can be selected from the setup menu or by using the command line option " -y". With this option set, after selecting both tiles a line with the options "Y/N" (yes/no) comes up. If you just click without moving the mouse you'll select yes and the tiles will be removed. Slide the mouse left and right to change your selection. Many commands available during the game (help, new, undo, file, setup, quit) are available as "keys" along the left side of the screen. Move the outline over the command you want and click once. "Help" and "Quit" require a yes or no confirmation so you won't do them by accident. Slide the mouse left and right to select yes or no and then click. There are two variations on the help function, depending on whether you click the left mouse button or right mouse button on the help "key". If you click the left button, you get the normal help command which first asks if you want to see matching tiles (if there are no more matches it will tell you that instead) and then prompts for a yes or no to see each additional matching pair of tiles. If you ask for help after you've already selected the first tile a search for matching free tiles takes place. If a match is found, it is highlighted and all you need to do is confirm to remove the pair of tiles. If no match is found it puts you back to select the first tile again. If you right-click while the help "key" is outlined, you'll be shown the tiles that you've removed so far. This is the same function available by hitting the F2 key. There is also a short-cut for mouse users to invoke help. Just hit the right mouse button while not pointing to one of the function "keys" to get help in selecting either tile. "New" lets you end the current game and either replay the same board or go on to a new board. You will be prompted to select either "next" or "again" to either go on to a new board number or to play the same board again. "Undo" replaces the last two tiles you removed. You can undo as many times as you want until all 144 tiles are back on the board. Undo does not ask for any confirmation. Undo actually allows you to replay your entire game both forward and backward. Clicking the left mouse button restores tiles that were removed and clicking the right mouse button takes the tiles back off again. "File" lets you either save the game at its current point or load a previously saved game. You are prompted to choose between "load" and "save". If you pick save you will then be asked to confirm if you really want to do it. The game will be saved to a file called "MAH#####.SAV" where ##### is the board number. If you select load a list of saved games will be displayed. Use the arrow keys or the mouse to select the game you want, then left click or hit the Enter key to load it. Hitting the ESC key or clicking the right mouse button will abort the load. Saved game files have no special attributes so when you're done with them you can delete them from the DOS command line or with any shell program, etc. that you're familiar with. You can also rename them and Mah Jongg will still recognize them as long as the file extension is ".SAV". "Setup" brings up the setup screen, which is fully described below. Any error messages that appear during the game (i.e. "Invalid Selection") normally stay visible for a few seconds before allowing play to continue. To immediately remove a message and resume play just click the mouse or hit a key. SETUP SCREEN The setup screen lets you control many game options. Note that these options can also be set from the command line when you start up the game. You can access the setup screen by hitting the S key when on the title screen, or at any time during the game by hitting the F3 key or clicking the mouse on the setup button. In the setup screen you can select the feature you want changed by using its letter, by moving the selection pointer with the arrow keys and hitting the Enter key to select, or by using the mouse and left clicking to select. You have the same options when choosing colors for the cursor or background. You can exit the setup screen by selecting option Q ("Done"), by hitting the ESC key or by right clicking the mouse. The following items can be controlled from the setup screen: A) Tile set: Select this option to load a different set of tiles. You'll be shown a list of all tile set files available in the current directory, and you can use the arrow keys or mouse to select the one you want. You can also hit any letter A through Z and the pointer will jump to the first tile set starting with that letter. Hit the Enter key or left click when pointing to the tile set you want. Hit the ESC key or right click to abort. If "B) Archive Type" is used, the displayed list will be from the disk directory specified and of the file type specified. If a single .ZIP file with many tile sets is used the contents of that .ZIP file will be displayed. B) Archive Type: Large collections of tile sets can take up a lot of disk space so Mah Jongg gives you the option of storing them as archived files instead of as .TIL files. Normally this option will be set to "" but if you want to archive tile sets you must set it to the extension used on files created by the archiver you wish to use. You can also include the drive and path to where the tile set files are kept. See the section ARCHIVING TILE SETS for complete details. C) Layout Arrangement: In addition to the default arrangement of tiles you can select any of a number of different arrangements using this option. Different arrangements are stored on disk as files ending in the letters ".BRD". You'll be shown a list of all arrangements available which you can pick in the same way you pick tile sets. Note that selecting any layout other than the default disables the keeping of a statistics file. D) Statistics File: Use this option to select the name of the file you want used for your playing statistics. The default file name is "MAHSTATS" and the file is always in the current disk directory. When you select this option you'll have to type in the name of the file you want. If you want no statistics kept just hit the Enter key instead of entering a name. Note that statistics are kept only for the default layout arrangement. E) Board number: Initially this will show the board number you are currently playing. If you wish to play a different board select this option and then type the number you want. F) Next board: Normally when you request a new game after finishing the current one the next board number will be the current number plus 1. Some people prefer board numbers to be selected randomly instead of sequentially and this option lets you choose this if you wish. G) Timed game: By default you're given all the time you want to play each board. If you wish the game can be timed. You have a choice of a count up timer that will start at zero and count up as long as you play a board, or you can have a count down timer where you give it a time in minutes to count down from. Both kinds of timer are limited to 30 minutes and in either case you can continue playing even if the timer reaches its limit. H) Background color: This option lets you change the background color of the playing board if you don't like the normal dark blue. If you started up the game using the " -l" or " -h" command line options you cannot select colors but instead have the choice of normal or inverted images for the entire playing board. I) Mouse cursor color: The mouse cursor may not be easily seen because of your monitor or because of the tile set you're using. This option lets you change the color to one you can see more easily. J) Mouse: This function enables or disables the mouse. If you have a mouse driver installed it switches between mouse play, keyboard mouse play and play using coordinates. If you have no mouse present it toggles the "keyboard mouse" which enables you to use the arrow keys to move the cursor instead of playing using coordinates. K) Y/N prompts: Normally once you have selected both tiles (and assuming your selection was a valid one) the tiles will be immediately removed from the board. If you prefer you can be prompted before the tiles are removed. When playing using the keyboard this option also controls whether or not you have to hit the Enter key after entering the tile coordinates. With the option set to yes, you will have to hit Enter after the coordinates, otherwise as soon as you enter two characters the tile will be selected. L) Show stats after win: You can view your current statistics at any point in the game by hitting the F5 key. This option will cause the same statistics screen to be displayed automatically whenever you win a game. M) Report end of game: Use this option to choose whether or not you want to be automatically notified when there are no moves left. N) Peek at end: When this option is set you can peek under (remove) any tiles that are left at the end of the game. "Peek Mode" will go on automatically when there are no more moves, either reported automatically if you have the report end of game option turned on or if you manually use the help function to check. To peek under tiles you select them as you normally would, by moving the cursor over the tile and clicking. O) Show fireworks: When you win a game a display of fireworks goes off. If you want to skip this display set this option to no. P) Restore defaults: Use this function to undo any setup changes you made and go back to the normal settings. USING STATGEN Mah Jongg comes with a utility called "STATGEN.EXE". This program allows you to analyze and modify the statistics file that is kept each time you play the game. To run the statistics generator, just type "statgen" on a line by itself. You'll be prompted for the filename of your statistics file and you'll be asked if you want to edit (enter a letter E) or just display (enter a D) your current statistics. If you select display, you'll be shown your total games played, average score, number won and worst score. Then a list of all board numbers won and another list of additional boards played will be shown. If you select edit you can change the list of boards played and won to include boards you played before v3.2. Just select edit and you'll first be prompted for the boards you've won. Enter one board number per line and finally enter a -1 when you're done. Then you'll enter the list of additional boards played but not won in the same way. Again you enter a -1 when done. After you're done editing statgen will show you your current stats so you can confirm that you've entered everything correctly. You can also enter statgen's parameters from the command line. The first parameter is the statistics file name and the second is either -e (to edit) or -d (to display). If you only enter one parameter display is assumed. For example, to edit the statistics file "stats.me" the command line would be statgen stats.me -e Normally the listing of statistics will stop at the end of each screen page. If you wish to disable this add the -ns (non-stop) parameter on the command line as in this example: statgen mahstats -d -ns This must always be the third parameter (after the file name and the -d display parameter). This feature is useful if you wish to use DOS redirection capabilities to save your statistics to a file or to print them. To save to a file you'd do something like this: statgen mahstats -d -ns > mystats.txt which would create a file called "mystats.txt" with all your statistics. This is a plain text file that can be viewed or edited with any text editor or word processor. To direct your results to your printer you'd do something like this: statgen mahstats -d -ns > prn There is also a "batch mode" available for those of you who have kept your records in a database. You'll need to transfer your games played and games won list into a straight ASCII text file with one board number per line and a -1 after the end of the won board list and another -1 at the end of the file. For example, if you've played boards 100, 101 and 102 and played and won boards 200 and 201 your file would look like this: 200 201 -1 100 101 102 -1 Save this file under whatever name you choose. For this example we'll say it was saved with the filename "TEMP". Then, to read these board numbers into your statistics, run statgen as follows: statgen mahstats -b < temp This assumes that "statgen.exe" is in your current directory, your stats file is called "MAHSTATS" and it also is in the current directory and your list of boards is in the file "TEMP". After temp has been read in, your new stats will be displayed to verify that everything worked. Suggestion: before running in batch mode, make a backup copy of your stats file in case something goes wrong. TECHNICAL NOTES Many people write asking about how certain aspects of Mah Jongg work. This section is intended to cover the most asked questions. "How are the different boards created?" There are 65,536 different board numbers and each one has a different arrangement of the tiles. This is true of both the default board layout (the "dragon") and any other board layout you choose. The arrangements are random or at least as random as possible. The game starts with a scrambled pile containing all 144 tiles (an array for you programmer types). Then, it goes through and takes the tiles one at a time at random from the pile and places them on the board. "OK, if the boards are random how is it that board #1 is always the same?" Computer random number generators don't generate truly random numbers. They actually generate a specific series of numbers that are essentially distributed randomly. For most purposes the distinction doesn't make a difference. Random number generators are generally started up by giving them a "seed". The seed itself needs to be somewhat random since the same seed will always generate the same series of numbers. Mah Jongg takes advantage of this feature. The board number is actually the random number generator seed and so each seed always generates the same series of numbers and thus the same board layout. The Turbo C language allows seeds to be values from 0 to 65535 which is why Mah Jongg has 65,536 possible boards. "Will I ever run out of boards?" Not likely. Remember that each layout has 65536 different boards, and there are many different layouts. A typical Mah Jongg player can make about one move every seven seconds. At that rate, playing 24 hours a day, it would take about seven years to play all 65536 different boards, just using the default layout. "Can all boards be won?" Definitely not. But then that's true of just about any type of solitaire game. After playing enough boards you're certain to run into situations where three of the same tile are stacked on top of each other or some other thing that result in a board that cannot be beaten. It appears, though, that a large percentage of boards can be beaten. A number of people have put great effort into solving series of consecutive boards, playing the same board over and over until beaten. Their results indicate that at least 75% and maybe even 90% of all boards can be won. "Can I get a CGA version?" CGA? Blech. Would you really want to play Mah Jongg on a screen with only 1/4th the pixels and only four ugly colors? It just wouldn't be the same... Actually, several people have attempted to do it. The results are about what you'd expect though. I also do not have versions available for any other computer types, though I do get asked. There are, however, similar games available for many other computers including Macintosh and Apple II. "What language is Mah Jongg written in?" Mah Jongg is written in Turbo C. I originally used v1.0 but am now using v2.0. Since Turbo C v1.0 did not have the graphics library that later versions include, Mah Jongg is done entirely with my own graphics routines. Tile Maker is written in Borland Pascal v7.0 which is the language I now prefer for all my work. "I don't like having to set my preferences in the setup menu every time I play." The registered version comes with a utility, MAHSETUP.EXE, that allows you to permanently set the game options just the way you want them. "Can I get the source code?" Sorry, the source code is not available. REVISION HISTORY NEW IN 4.2: Players with a mouse installed now have the option of playing with the arrow keys ("keyboard mouse") by way of setup screen selection or command line option " -m1". Tournament players can now end a tournament game by entering the tournament setup screen, thus allowing another player to play the tournament game without having to quit first. Fixed bug in which some tile sets in a large .zip file were not displayed in file selection listing. When viewing a tile set you now have the additional option of viewing its associated text file (if one is found). This only works if the text file has the exact same name as the tile set but with an extension of .DOC or .TXT. When selecting files you can jump around in the list by hitting any letter which will then find the first file that begins with that letter. Sequential board numbers now works with any board layout. NEW IN 4.1: Multiple sets of tiles can now be kept in a single archive file. NEW IN 4.0: Tile sets can be kept in archived files. Peek function: lets you view any remaining tiles at the end of a game. End of game (no more moves) can now be detected automatically if desired. Next board can now be either sequential or random. Keyboard players can choose to not require hitting the Enter key after entering coordinates. Statistics can now be shown automatically when you win a game if desired. Text files (i.e., documentation, order forms, etc.) can now be viewed or printed from within the game. Mouse control added to setup menu, file selection lists, etc. Different board arrangements in addition to the traditional "dragon" layout are now available. Command line option -u changed to allow either a specific tile set to be loaded or a randomly selected tile set. Bug fix to statgen related to timed games. The confirm move option now defaults to off (don't require confirmation of moves). The F8-tile set view screen now includes the tile artist's name. Extensive changes to Tile Maker. NEW IN 3.51: The changes made to board number handling in v3.5 broke the -b command line option; this is now fixed Previous versions only allowed 200 option tile set files in a directory; this limit has now been increased to 400 NEW IN 3.5: Mouse users can now access the "see tiles played" function (which is still available by hitting the F2 key) by right clicking on the help "key" on the left side of the screen Time function (available in setup screen or from command line option " -t") displays a timer that counts up from 0:00; old count down timer option is still available as before; stats kept of fastest won game if either timer function is used Stats keeps track of last board played so that each time you start up the game you'll automatically get the next consecutive board number A small number of people seem to have problems with the fireworks display after winning a board; a command line option -x now allows the fireworks to be disabled Tile Maker now displays a blank tile face when doing a clear Tile Maker now allows loading from PCX pictures Tile Maker has new color change tool Tile Maker now updates tile set viewed by "re-read" and "view last" functions when a tile is saved to disk Tile Maker undo function enhanced NEW IN 3.4: Stats file "MAHSTATS" now defaults to current directory Tile files can be selected from a list instead of by name in setup screen Hitting F8 displays the currently loaded tile set Saved games are now selected from a list, as games are now saved with the filename MAH#####.SAV where ##### is the board number Keyboard 'mouse' allows keyboard users to play using arrow keys instead of entering coordinates NEW IN 3.3: Alternate tile sets can be used Y/N prompts can be disabled New "victory" screen NEW IN 3.2: "Boss Mode" has been replaced by a true shell to DOS Records kept of boards played and won: If the current board has been played before, an asterisk will appear next to the board number; if the board has been won, the word "WON" will appear next to the board number Separate statistics generator program displays your stats plus list of boards played and won Improved accuracy of average score statistic Automatically enables mouse play if mouse driver detected Exit screen written directly to memory instead of using ANSI NEW IN 3.1: Stats no longer overflow Stats now correctly update when you win a game Tournament setup screen now available during game Automatically detects EGA and Hercules cards Monochrome EGA selectable for LCD laptop computers Command line parameters can be made permanent using setup program (available to registered users only) NEW IN 3.0: Runs in Hercules graphics mode Game statistics kept for current game and for all games played Undo command (both forward and backward) Setup screen available during game Tile corners now display properly NEW IN 2.7: Fixed bug in tournament mode (stats weren't being saved) A list of all pairs of tiles played so far is available by hitting the F2 key NEW IN 2.6: Mouse cursor color is now selectable from command line or setup screen When playing a tournament game your score was not always saved if you completed the board; this is now fixed NEW IN 2.4: Help screen -- hit F1 to get a list of commands, options, and some basic playing tips "Boss Mode" -- hit F10 to hide the game and display a harmless looking disk directory New tournaments can be started from within the tournament setup screen After winning a game, answering "Y" to play again gives you a different board instead of the same one over again Requesting to quit when selecting the second tile now asks for a confirmation NEW IN 2.3: Columns entered as letters instead of numbers; rows and columns can be entered in any order as a result Several tiles redrawn NEW IN 2.2: ATI EGAWonder card problem work around added Mouse cursor display sped up (possible fix to NEC EGA card problem of not showing mouse cursor) NEW IN 2.1: Help on 2nd tile selection (find match to 1st tile if any) Help available with right mouse button as a short-cut Error messages can be cancelled by clicking the mouse Confirmation required for mouse action "keys" to prevent accidents NEW IN 2.0: Mouse support Setup screen, allows access to all game options more easily than through command line options Tournament play Selectable background color New commands during play A (play same board Again) N (play New board) More command line options -cx (background Color) -r (Restart saved game) -m (use Mouse) More authentic tile appearance Faster tile displaying WINNING Not all boards are win-able but during testing a number of boards that are beatable were found. In addition, many people who have written to register their copy of Mah Jongg have included lists of boards they have completed. If you want to play a board that definitely can be won, try one of the following. A few players have done detailed studies and have found that as many as 90% of all boards can be won so this list is far from all inclusive. 1, 2, 8, 14, 21, 23, 43, 56, 148, 290, 302, 307, 329, 364, 370, 386, 421, 433, 459, 560, 627, 634, 656, 695, 735, 743, 795, 800, 819, 827, 839, 858, 876, 888, 890, 905, 936, 952, 985, 1034, 1037, 1066, 1101, 1104, 1132, 1138, 1145, 1149, 1154, 1207, 1241, 1244, 1296, 1313, 1346, 1365, 1390, 1392, 1428, 1430, 1490, 1543, 3459, 3989, 4113, 4236, 4243, 4344, 4540, 5119, 5336, 6108, 6843, 7332, 7971, 8694, 8922, 9619, 10796, 12224, 12909, 13692, 13932, 15037, 15318, 15441, 15625, 15784, 16213, 16435, 16496, 16965, 17604, 19619, 20009, 20926, 21015, 21399, 23986, 24654, 24942, 25139, 26208, 27869, 28483, 29514, 29885, 30000, 30004, 30007, 30008, 32141, 32381, 32812, 33212, 33357, 36607, 36785, 36792, 36836, 37696, 38110, 38313, 38382, 38449, 40060, 40111, 40284, 40640, 41121, 41619, 42246, 43055, 43421, 43880, 43924, 44213, 45000, 45355, 45466, 47046, 47615, 47779, 47788, 47924, 48094, 48165, 48278, 49070, 49522, 50054, 50333, 50408, 50542, 52079, 52158, 52916, 53414, 53751, 54176, 54438, 54491, 54586, 55082, 55309, 55598, 56185, 56447, 56809, 57572, 58094, 59498, 61319, 62500, 63202, 63331, 63866, 64557, 64856, 65123. Enjoy! ***************************************************************************** * INCLUDED FILES * ***************************************************************************** The following files are included in Mah Jongg solitaire: MAHJONGG.EXE Mah Jongg program MAHJONGG.DOC This file MAHJONGG.HLP Help file used by the game MAHJONGG.TXT A brief description of Mah Jongg MAHJONGG.DAT Data file, used internally ORDERFRM.TXT Ready to print registration form UKORDER.TXT Registration form for U.K. residents SHAREWRE.TXT Information on Shareware VENDOR.TXT Information for shareware vendors/BBS sysops STATGEN.EXE Statistics generator program TILEMAKR.EXE Tile set editing utility TILEMAKR.DOC Complete Tile Maker instructions TILEMAKR.HLP Help file used by Tile Maker TEXTVIEW.EXE Utility for viewing text files MAHJONGG.TIL Standard tile set FLAGS.TIL Flags of the world tile set FLAGS.TXT Text file describing FLAGS.TIL TILEARCH.BAT Sample batch file for archived tile sets *.BRD Different board layouts CATALOG.EXE Runnable catalog of other products You are free to pass this program along to friends, give it to user groups, upload to BBSes, etc. with the understanding that anyone who continues to use the game is required to register it. All these files MUST be included when distributing this program. If you archive the program for distribution through BBS's, please use the name MAHJNG42.ZIP (or .LZH, .ARJ, etc. as appropriate). ***************************************************************************** * REGISTRATION * ***************************************************************************** Please remember that Mah Jongg is not free software. As with all Shareware you are expected to purchase it after you've given it a reasonable trial. The registration price for Mah Jongg is $15 (#12.95 U.K.), for which you'll receive by return mail: - a copy of the latest version with the shareware reminders removed - a setup utility that lets you make your playing options permanent - several additional tile sets - more different board layouts - and possibly another Shareware game to try out (disk space allowing) Collections of tile sets created by various Mah Jongg players are also available for $5 each. Each disk includes ten or more tile sets. A "deluxe" version of Mah Jongg is also available. This includes a storage case, printed manual, quick reference card, plus the registered version of the game. This version is available for $22. Note that the actual software is the same in both versions. Please include $2 for shipping/handling along with the payment for whatever item(s) you order; if ordering deluxe versions please include $4. Outside North America please include $4 for shipping/handling on all orders. Please note that all prices are U.S. dollars and that there is a $2 charge for 3.5" diskettes. If you live in the U.K. you can register through Nildram Software. Please print the file UKORDER.TXT for an order form all ready to go or just send #12.95 to: Nildram Software 82 Akeman Street Tring Herts HP23 6AF ***************************************************************************** * DISCLAIMER OF WARRANTY * ***************************************************************************** This software is sold "as is", without any warranty as to performance or any other warranties whether expressed or implied. Because of the many hardware and software environments into which this program may be used, no warranty of fitness for a particular purpose is offered. The user must assume the entire risk of using the program. Any liability of the seller will be limited exclusively to product replacement or the refund of the registration fee. ***************************************************************************** * ASSOCIATION OF SHAREWARE PROFESSIONALS * ***************************************************************************** This software is produced by Nels Anderson who is a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442, USA or send a CompuServe message via email to ASP Ombudsman 70007,3536. _______ ____|__ | (R) --| | |------------------- | ____|__ | Association of | | |_| Shareware |__| o | Professionals -----| | |--------------------- |___|___| MEMBER ***************************************************************************** * FINDING MAH JONGG * ***************************************************************************** The best place to find Mah Jongg updates, tile sets, etc. is on Xevious, the official support board. In addition, I will upload updates as available to the following BBSes: Software Creations (Clinton, MA): 508-365-9669 Channel 1 (Cambridge, MA): 617-354-8873 Sound Advice (Gladstone, MO): 816-436-4516 CompuServe GAMERS forum Xevious (Framingham, MA): 508-788-6951 ***************************************************************************** * AVAILABLE SOFTWARE * ***************************************************************************** Other software which I've either written or contributed to: TMATCH: Tile Match is another solitaire game that uses the same colorful tile sets originally created for Mah Jongg. It's based on concentration solitaire or "memory" but adds a wide variety of features. Play it solitaire, against the computer or with up to four players. MAHJONGG: Solitaire game played with Chinese tiles. Supports EGA and Hercules graphics; mouse optional. See reviews in December 1988 "PCWorld" and April 1989 "Compute!". TILESETS: Several collections of tile sets created by various Mah Jongg fans are available. Each collection includes at least ten tile sets. Requires Mah Jongg v3.3 or later or any version of Tile Match. SHOOT: "Shooting Gallery" tests your aim and reflexes in a number of different rounds of shooting. Uses MCGA/VGA graphics mode for 256 colors and and also requires a mouse. See review in "PC Magazine" vol. 9 #20. EGATREK: Space strategy battle game, using full EGA graphics, based on the classic minicomputer game. Winner of Public Brand Software's 1988 software contest. Chosen as top game of its type by "Shareware Magazine", July/August 1990. SUPERFLY: An action game in which your house has been invaded by a variety of bugs which you must swat while searching for the "Super Fly". Includes 20 different rounds, 3 skill levels. Supports hi-res EGA and VGA. See review in "PC Magazine" (10/15/91). CIPHER: A crypto-quotes type word game that runs in full color VGA or EGA graphics mode. Can be played with a mouse or keyboard. Also supports text modes. CIPHWN: Cipher for Windows. All the features of regular CIPHER but runs under the Microsoft Windows 3.x environment. BASSTOUR: (Written by Dick Olsen). Game that simulates a fishing tournament, including rod and lure selection. Runs in EGA/CGA/MCGA/Hercules graphics modes. BASSMAP: Companion program for BassTour which allows lakes to be created or modified. EGA and CGA versions included. - - - - - Mah Jongg is copyright (c) 1987-1994 by Nels Anderson. All rights reserved.