home *** CD-ROM | disk | FTP | other *** search
/ Season's Greetings & Games Unlimited / UGOLD_cd2.iso / mancala / mancala.doc < prev    next >
Text File  |  1994-10-23  |  20KB  |  407 lines

  1.         ┌─────────────────────────────────────────────────────────────┐
  2.         │    __  __    ___    _   _    ____    ___    _        ___    │
  3.         │   |  \/  |  / _ \  | \ | |  / ___|  / _ \  | |      / _ \   │
  4.         │   | |\/| | | |_| | |  \| | | |     | |_| | | |     | |_| |  │
  5.         │   | |  | | |  _  | | |\  | | |___  |  _  | | |___  |  _  |  │
  6.         │   |_|  |_| |_| |_| |_| \_|  \____| |_| |_| |_____| |_| |_|  │
  7.         │                                                             │
  8.         ├─────────────────────────────────────────────────────────────┤
  9.         │ (C) Copyright 1990-1994, RCSOFT    Written by Renier Crause │
  10.         ╘═════════════════════════════════════════════════════════════╛
  11.  
  12. ┌─────────────────────────┐
  13. │ Introduction            │
  14. ╘═════════════════════════╛
  15.   Mancala is often called the national game of Africa.  I've never seen
  16.   a computer implementation, of this simple, but brilliant game, so I've
  17.   decided to write one myself.  It seems fit that someone from Africa
  18.   should write an implementation of an African game.
  19.  
  20.   Mancala has very simple rules, and each turn only has one of six
  21.   possible moves, but still the it requires quite a bit of skill and
  22.   foresight to realize what the consequences of each move will be.  It
  23.   is not for nothing that Mancala is sometimes called African Chess.
  24.  
  25. ┌─────────────────────────┐
  26. │ Requirements            │
  27. ╘═════════════════════════╛
  28.   This program requires the following:
  29.     ■ MS-DOS 3.x of higher
  30.     ■ 286 or higher CPU
  31.     ■ VGA/MCGA Adapter with Color Monitor.
  32.     ■ Mouse with driver loaded.
  33.  
  34. ┌─────────────────────────┐
  35. │ The Rules               │
  36. ╘═════════════════════════╛
  37.   Mancala is not really a game on its own, but more a collection of over
  38.   two hundred games, all linked to the same fundamental rules.
  39.  
  40.   Essentially Mancala is a two-player board game.  The board consits of
  41.   two rows of cups, six cups on each side, and several playing pieces,
  42.   usually called seeds or stones. The board is then divided into two
  43.   halves along the length of the board.  Player 1 in the computer
  44.   version always playes the bottom side and Player two the top cups.
  45.   Each Player also has a home cup which contains the pieces he has
  46.   captured.  The home cup for Player 1 is at the right end of the board,
  47.   and Player 2 at the left.
  48.  
  49.   This computer version of Mancala, implements 3 different variations of
  50.   play:  ■ Awari
  51.          ■ Ayo
  52.          ■ Oware
  53.  
  54.   In all these variations, play is based on the principal of sowing.
  55.   Sowing is done by taking up all the stones in any of your cups, and
  56.   then distributing these stones in an anti-clockwise direction around
  57.   the board, starting with the cup adjacent to the cup to be sowed from.
  58.   You must drop excatly one stone in each cup, and no cups may be
  59.   skipped from this sowing procedure.  When the end of your cups are
  60.   reached you keep on sowing in an anti-clockwise direction, by
  61.   continuing on your opponents side.  In Awari the sowing also includes
  62.   the home cups, but not in Ayo or Oware.  Note that you may only start
  63.   sowing from any of the cups on your own side.
  64.  
  65.   Because the game is based on where the last stone of a sowing lands,
  66.   my implementation as an optional guide, which will highlite the cup
  67.   the last stone will land.  Because it is sometimes difficult to
  68.   distinguish the stones in a cup, the right mouse button will also
  69.   indicate how many stones there are in any cup.  The total number of
  70.   stones in the home cups, are continuesly displayed at the bottom of
  71.   the home cup.
  72.  
  73.   All three variations start with four stones in each cup, and none in
  74.   the home cups.  Player 1 starts the first game, and the the loser of
  75.   the previous game gets to start the next.  It does have a small
  76.   advantage to start, especially in Awari.
  77.  
  78.   The purpose of the game is to capture as many stones as possible, the
  79.   player with the most stones, in the end, wins the game.
  80.  
  81.   Play continues until all the stones on either side of the board are
  82.   depleted.  Since there are only 48 stones in total, any player who has
  83.   25 or more stones naturally wins, and the game is ended.
  84.  
  85. ┌─────────────────────────┐
  86. │ Awari                   │
  87. ╘═════════════════════════╛
  88.   Awari is the simplest and easiest of the variations, and should be
  89.   learned first.
  90.  
  91.   In Awari you can capture stones on any side of the board by sowing,
  92.   and droppping your last stone an empty cup directly opposite the the
  93.   stones you want to capture.  Thus, for example, if your last stone
  94.   lands in your last cup, which is empty, you will capture all the
  95.   stones in your opponents first cup, which is directly opposite the
  96.   empty cup.  This last stone of the sowing is also caputured.  Note
  97.   that any number of stones can be captured in a single sowing.  If your
  98.   last stone lands in a non-empty cup, you caputure no stones.  Either
  99.   way, your turn is over, and your opponent plays, by sowing from any of
  100.   his cups.
  101.  
  102.   As sowing in Awari includes the home cups, your last stone can land in
  103.   a home cup.  If your last stone lands in your own home cup, you get
  104.   another turn.  Thus if you have, for example, only one stone in your
  105.   last cup, and decide to sow it, this stone will land in the home cup,
  106.   and you get another turn.
  107.  
  108. ┌─────────────────────────┐
  109. │ Ayo                     │
  110. ╘═════════════════════════╛
  111.   Ayo is a little bit more skillful than Awari, but easier than Oware.
  112.   The rules are still simple though.  Ayo is actually the most
  113.   satisfying of the rules for me.
  114.  
  115.   Sowing doesn't include the home cups.
  116.  
  117.   To capture your opponent's pieces, your last stone of a sowing must
  118.   land in a cup at the opposite side of the board, which contains either
  119.   1 or 2 stones, (2 or 3 after sowing).  You then capture these 2 or 3
  120.   stones, and they are placed in your home cup.  The capture is also
  121.   recursive of nature.  That is, if the penultimate cup, after sowing,
  122.   also contains 2 or 3 stones, then these stones are also captured, and
  123.   the same for the cup before it, and before it, etc.  This must be in
  124.   running order from the last cup, thus if the penultimate cups has four
  125.   stones, the cup before it is not captured.
  126.  
  127.   Note that stones can only be captured on the opponent's side of the
  128.   board, not on your own side.  Thus you shoud try to protect the stones
  129.   on your side, by not leaving one or two stones in a cup.  Empty cups,
  130.   or cups with more than 2 stones are safe.
  131.  
  132. ┌─────────────────────────┐
  133. │ Oware                   │
  134. ╘═════════════════════════╛
  135.   Oware is the most difficult of the variations implemented, and I would
  136.   strongly advise that you first master Awari and Ayo before playing
  137.   Oware.
  138.  
  139.   Again sowing excludes the home cups.
  140.  
  141.   To capture stones, your last stone of a sowing must land in a cup
  142.   that contains excatly 3 stones (4 after sowing).  The last cup can be
  143.   on either side of the board.  If your last stone captures, or lands in
  144.   an empty cup, it marks the end of your turn, and your opponent sows
  145.   next.
  146.  
  147.   If your last stone of a sowing lands in a cup containing 1,2 or more
  148.   than 3 stones, you take up these stones in the last cup, and continue
  149.   sowing leaving that cup empty.  This keeps on going until your last
  150.   stone lands in an empty cup, or a cup containing 3 stones.
  151.  
  152.   While you are sowing, if you ever sow a stone into a cup containing
  153.   exactly three stones, the player on whose side these stones are, can
  154.   take them, and place them in his own home cup, except of course for
  155.   the last stone, where the player who sowed gets the stones,
  156.   independently of the side it's on.
  157.  
  158. ┌─────────────────────────┐
  159. │ The controls            │
  160. ╘═════════════════════════╛
  161.   The entire game is controlled with mouse.  In all buttons the first
  162.   letter of the text on the button will also activate it.
  163.  
  164.   The game will start with a title screen.  Press any key, or a mouse
  165.   button to continue to the menu screen.  On the menu screen you can
  166.   select the variation of the game you want to play by clicking with the
  167.   left mouse button on the name of the variation.  The X-mark next to
  168.   the name shows the currently selected variation.
  169.  
  170.   Clicking on the Exit button (or pressing Escape) will exit to DOS.
  171.  
  172.   The Help button will display a window with a short summary of the
  173.   rules of each variation.  Click on the small button in the top-left
  174.   corner of the help window to close the window.
  175.  
  176.   The Options button will display a dialog box with options for:
  177.    ■ Number of Players (1 or 2)
  178.      One player will mean you against the computer.  In two player mode
  179.      two humans can play, by swapping the mouse between them.
  180.    ■ Guide (on or off)
  181.      This turns the highlight guide, which shows you where your last
  182.      stone wil land, on or off.  The guide is especially useful for
  183.      beginners, but even to advanced players it's still faster and
  184.      easier to play with the guide on.
  185.    ■ Sound (on or off)
  186.      Mancala does have some simple digitized sounds, which can be played
  187.      through the SoundBlaster card, or through the PC-Speaker if no
  188.      SoundBlaster is detected.  This switch can turn these sounds off.
  189.      Note that the /N command-line option, will disable all sounds.
  190.  
  191.   Press the Start button to continue into playing area.  The board will
  192.   be displayed together with a info box at the bottom and a pull-down
  193.   menu at the top.
  194.  
  195.   The info box at the bottom contains the following:
  196.     ■ A globe
  197.       The lit globe shows whose turn it is.  The other player's globe
  198.       will be dark.
  199.     ■ Accumulative score
  200.       For each player this will show how many games he has won, since
  201.       the last time you were at the menu screen.  Note that the
  202.       accumulative score is reset to zero each time you return to the
  203.       menu screen.
  204.     ■ Player type icon
  205.       The icon at the right of each player's info box just indicate if
  206.       it's a human player or a computer player.
  207.  
  208.    The pull-down menu at the top left of the screen can be activated my
  209.    clicking with any mouse button on the menu button, and then holding
  210.    in the button, and releasing at the desired option.  The pull-down
  211.    menu offer the following controls:
  212.      ■ TakeBack
  213.        This will take back the last move made.  Note that only your
  214.        last move can be taken back, and not any number of moves.
  215.        This option can also be ativated by pressing 'T' anytime.
  216.      ■ Resign
  217.        If you see that there is no way of winning this particuar game
  218.        you can resign, and your opponent's accumulative score will be
  219.        increased.  A new game can then be started.
  220.        This option can also be ativated by pressing 'R' anytime.
  221.      ■ Hint
  222.        This is for those moments when you just don't know what the best
  223.        move will be.  The computer will generate the best move, it
  224.        thinks, for you and then it will place your mouse cursor in the
  225.        cup that it recommends.  You can then just click if you want to
  226.        play the hint move.  The hints are based on the same strategy
  227.        that the computer uses to play it's side.
  228.        This option can also be ativated by pressing 'H' anytime.
  229.      ■ Quit
  230.        This will return you to the menu screen.  Note that the
  231.        accumulative scores will also be reset.
  232.        This option can also be ativated by pressing 'Q' or Escape anytime.
  233.  
  234.   To play the game, you can use the left mouse button in the cup you
  235.   want to sow.  The right mouse button will display the number of stones
  236.   in that cup.  Note that you can just move the mouse cursor into a cup,
  237.   and the guide will be displayed, highlighting where the last stone of
  238.   a sowing from this cup will land.  The guide can be turn off from the
  239.   options dialog box in the menu screen.
  240.  
  241.   When the game ends, a dialog box will appear showing the scores.  The
  242.   winner's name will be indented.  You will then be asked if you want to
  243.   play another game.
  244.  
  245. ┌─────────────────────────┐
  246. │ Command line options    │
  247. ╘═════════════════════════╛
  248.   Usage:  MANCALA [options]
  249.  
  250.   /N    - No Sound effects
  251.           All sounds are disabled.  The sound files will still be loaded
  252.           and the sounds can be re-enabled with the sound switch in the
  253.           options dialog box.
  254.  
  255.   /S    - Use PC-Speaker even if SoundBlaster detected
  256.           Use this option, if you have a SoundBlaster but want to here
  257.           how it sound on the PC-Speaker, or if the SoundBlaster doesn't
  258.           work correctly.  This option will force that no SoundBlaster
  259.           detection routine is run.
  260.  
  261.   /A### - SoundBlaster PORT to use (in hex) ex. /A220
  262.           Specify the BaseIO port to use for the SoundBlaster.  If none
  263.           specified, then Mancala will first check for your BLASTER
  264.           environment setting, and if this is missing it will
  265.           autodetect.  If autodetect fails it will default to 220h.
  266.  
  267.   /I#   - SoundBlaster IRQ to use ex. /I7
  268.           Specify IRQ value for SB.  If not specified the game will
  269.           first check for BLASTER enviromenment variable, if that fails
  270.           it will default to 7.
  271.  
  272. ┌─────────────────────────┐
  273. │ History                 │
  274. ╘═════════════════════════╛
  275.   History of all released versions.  Versions not mentioned were not
  276.   released to the public.
  277.  
  278.     v1.0   94-10  First version released.
  279.  
  280. ┌─────────────────────────┐
  281. │ Other RC-SOFT products  │
  282. ╘═════════════════════════╛
  283.   Some other creations by me, Renier Crause, which should be available
  284.   where you found this program.  All these programs should also be
  285.   available for FTP, on site "ftp.sun.ac.za" directory "/pub/msdos/za"
  286.  
  287.   DDIR  -  Replacement for the dos "dir" command, with many more
  288.            options, including 4DOS descriptions and extended wildcards,
  289.            like in Unix.  Uses colors to display different filetypes in
  290.            different colors.
  291.            Newest Version:  9.3
  292.            Filename: RCDIR930.ZIP
  293.  
  294.   DDEL  -  Deletes entire subdirectory trees.  More options and more
  295.            powerful than Deltree.  Also shows how much space will be
  296.            freed.
  297.            Newest Version:  2.7
  298.            Filename: RCDEL270.ZIP
  299.            
  300.   RCCOPY - A nice interface, to select files and then copy these files
  301.            onto diskettes, filling each upto brim, by seach for a file
  302.            until a file is found that will fit onto the floppy.  Gives a
  303.            constant display of statistics while copying.
  304.            Newest Version:  3.1
  305.            Filename: RCCOPY31.ZIP
  306.  
  307.   DARTS -  Darts game with VGA graphics, and a mouse.  Different darts
  308.            games like 301,501,Killer and N.J.M ar supported.  All games
  309.            are played with the mosue, which isn't as stable as it
  310.            usually is.  Upto 4 players can play, or you can test your
  311.            skills against the computer.
  312.            Newest Version:  4.01
  313.            Filename: DARTS401.ZIP
  314.  
  315.   SPUZZLE - Sliding puzzle game that works on VESA compatible SuperVGA
  316.             cards.  Uses Sound Blaster or PC-Speaker for sound.
  317.             Strategy game that isn't as easy as it looks.
  318.             Requires 1Meg SVGA or 512k SVGA with 512k XMS free.
  319.             Newest Version:  1.25
  320.             Filename: SPZLE125.ZIP
  321.  
  322.   MANCALA - A computer implementation of the very popular Afican board
  323.             game called Mancala.  Uses nice VGA/MCGA graphics and a
  324.             mouse to control.  SoundBlaster of PC-Speaker supported.
  325.             All rules are included, so beginners can learn the game.
  326.             This game is often called African Chess.
  327.             Newest version:  1.0
  328.             Filename: MANCLA10.ZIP
  329.  
  330.   If you have eMail access, and you can't get any of the above programs,
  331.   feel free to contact me, and I'll send it to you.  (eMail only)
  332.   Please Note that the Newest Version mentioned above is the newset when
  333.   this files was written, so newer versions may appear later, since I'm
  334.   always updating my programs, and thus filenmaes may also change to
  335.   show the newer version number.
  336.  
  337. ┌─────────────────────────┐
  338. │ License and copyright   │
  339. ╘═════════════════════════╛
  340.   Mancala 1.0  (C) Copyright 1994 RC-SOFT,  All rights reserved!
  341.                                             Written by Renier Crause.
  342.  
  343.   This program is copyrighted by me, Renier Crause.  That doesn't mean
  344.   you shouldn't copy this program, in fact I order you to give this
  345.   program to every living person you know (it would of course help, if
  346.   the person you give it to, owns a PC).  No, this copyright means you may
  347.   not change my program, or disassemble it without my permission.  This
  348.   program is NOT freeware.
  349.  
  350.   This program is copyrighted under the Shareware concept.  It is not free
  351.   software, it is rather is look first, pay later scheme.  You may freely
  352.   copy this software (providing you include all files, including this
  353.   document) and I actually ask you to show or give this program to everyone
  354.   you see (heck, I've said that before so maybe it's important!).  If you
  355.   find this program good (or likeable at least) and you continue to use it
  356.   after 30 days, you are required to send me R50 (or $25).  Please send
  357.   International Postal Orders, since cashing a foreign, personal check
  358.   here is a pain, and exspensive.  If you do send a check, then you are
  359.   required to pay $30. See below for my address.  After paying, you will
  360.   become a registered user, and maybe receive free or low-cost
  361.   information and updates, (nothing guaranteed).  eMail users WILL
  362.   receive updates and information, as long as I have access to the
  363.   internet.
  364.  
  365.   Other credits must go to:
  366.     ■  Barry Naujok for his excellent BNGUI unit which provides graphic
  367.        routines for VGA/SVGA, for use in Pascal.
  368.     ■  Ethan Brodsky for his SBDSP unit which provided the code to play
  369.        the simple sounds through the SoundBlaster.
  370.  
  371. ┌─────────────────────────┐
  372. │ How to contact me       │
  373. ╘═════════════════════════╛
  374.   I would prefer you to contact me through eMail.  My internet address
  375.   is:
  376.       s9147659@rkw-lan.cs.up.ac.za
  377.       ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  378.   Yes you read correctly I'm from South-Africa, and we can actually program
  379.   here (well some of us anyway).  If you don't have access to internet eMail
  380.   (shame on you) you can also reach me at:
  381.       R.G. Crause
  382.       P.O. Box 38141
  383.       Garsfontein X10
  384.       0042 PRETORIA
  385.       South-Africa
  386.   All money should also be sent to the above sMail address.
  387.  
  388.   PLEASE contact me if you have any comments, suggestions, wish lists,
  389.   bug reports, hate mail etc.  I'll answer all meaningful eMail, and
  390.   even some meaningless ones.  Sorry I can't answer any snail mail
  391.   comments, but I can sure act on any suggestions you mailed to me.
  392.  
  393.   If you decide to register please tell me what your system looks like,
  394.   you know stuff like which CPU, which graphics etc.  And please include
  395.   what you thought of this program. (Also include the VERSION number please)
  396.  
  397.   My eMail address would probably only be available until the end of 1994,
  398.   but please still sMail me your eMail address, and maybe I can contact you.
  399.  
  400. ---------------------------------------------------------------------------
  401.  
  402.   Renier.
  403.  
  404.   (written on October 24, 1994)
  405.  
  406. ----------------------------------ooOoo------------------------------------
  407.