
     Monopoly for DOS
     ================


     Introduction:

     The first thing I should mention is that I'm not very
     good at writing documentation! - I'm a programmer by
     trade, not a writer. Unfortunately programs such as this
     do require a little documentation, and so this is my
     limited attempt as such!

     If you have never played the board game Monopoly, then I
     suggest you go right out, and buy a copy now. The aim of
     this documentation is not to supply a comprehensive set
     of rules for the game, but rather to explain how this
     computerised version works, and how to play it on the PC.
     (A full set of official rules can however be found at
     http://www.monopoly.com/rules-monop.html). It has also
     been my experience that different people play Monopoly in
     different ways, and in fact few stick to the official
     rules.  Because of this, there are various system
     settings which can be changed, these will be explained
     later.

     The AI (Artificial Intelligence) in the game is
     reasonably intelligent, but if you notice any obvious
     "features" (okay then, "bugs"!), then please let me know
     via the e-mail address at the end of this documentation.
     Likewise if you would like to see improvements or
     additions to the game.  I do listen to feedback, and many
     of the additions in this version (1.4) of Monopoly have
     been added because of e-mails I've had from various
     people.  If you don't ask, you don't get!

     Note: To avoid any flames I should state that I have used
     the male pronoun  exclusively when referring  to 'The
     Player'. This is not to imply that only males participate
     in computer gaming. The only reason I have done this is
     to avoid ugly compromises  like '(s)he', 'him/her' and so
     on!


     Future Versions and General Information:

     There are not lightly to be any new versions of the DOS
     version on Monopoly for some time (unless there are any
     huge bugs I have missed).  There are two reasons for
     this, the first being that with a game of this type it is
     possible to add more and more features virtually for
     ever, and yet not improve the game-play, I could add more
     stats, or add more subtle changes to the AI, but where do
     you draw the line?!  The second, and possible more
     important reason is that I will shortly start to work on
     converting this into a Windows version. This is not a
     small job, the code alone is currently over 20,000 lines
     of Pascal. And I still have to do my regular job to pay
     the rent! (plus of course, I wrote this for fun, so if I
     stop enjoying writing it, it'll be put on the back burner
     for a while!).

     You can get an update on how the Windows version is going
     by visiting my Web site at http://ads.home.ml.org  This
     site also includes information about the current version,
     so if I do find any bugs which need fixing in the DOS
     versions, that's where they'll be put!


     Country variations

     Although the overall game of Monopoly never changes,
     different country versions use different names for the
     properties.  By default, this version of Monopoly will
     use the UK names for properties, and will use the pound
     sterling symbol as the currency.  However there are ways
     to alter this.

     When the game is first run, it will look for a file
     called PROPERTY.CFG.  If this file exists, then it is
     read and the game is set-up with property names as
     defined in the file.  Modifying the PROPERTY.CFG,
     together with the files CHANCE.CFG and CHEST.CFG are
     explained later.

     The "Currency" character can be modified by selecting
     "Chance defaults" from within the game. (or creating a
     MONOPOLY.CFG file. More about this later too!).

     USA versions of the PROPERTY.CFG, CHANCE.CFG, CHEST.CFG
     and MONOPOLY.CFG are included in the file EXTRAS.ZIP (as
     are UK versions which will allow modifications).  The USA
     files have the extension .USA, and can be loaded in one
     of two ways: Either rename all these files to end in the
     .CFG extension, or start the MONOPOLY.EXE program with
     the /C:USA parameter.


     Windows 3.x, 95 and NT

     Although this game is a DOS program, it will run
     perfectly well under Windows.  If you have your version
     of Windows set-up to display DOS sessions in a window,
     rather than full-screen, then I recommend you switch the
     DOS window to full screen (press <ALT> & <ENTER> when at
     the DOS prompt).  Although Monopoly will run quite
     happily in a DOS window, the screen display is designed
     to run in a full screen.  Some of the animated movements
     such as the counter moves may not be smooth when running
     in a window.

     Please remember that this is not the prettiest of games!
     Basically, it is a text mode game, with a few colours
     thrown in for good measure, however the idea behind the
     creation of this game was to write a working game, with a
     half decent AI (artificial intelligence), if you want the
     bells and whistles of colourful graphics, full screen
     animation, and nice sound effects then I'd recommend you
     either use your imagination, or go out and buy the
     official CD-ROM version of the game (which I understand
     to be very good).


     Playing the game:

     When first starting the game, you may enter the names of
     up to six players. If you wish to play with less that six
     players then leave the names of the other players blank.

     Once you type in the name of each player you are required
     to select whether this player is a computer player or
     not.  By typing "Y" (for Yes) the player is set to be
     controlled by the computer, and the AI options (which are
     explained in a minute) are set to be random.  This will
     result in different computer players using different
     strategies to play the game.

     When prompted to enter the name of the player, you may
     press the F3 key to load an AI file which will set
     various AI features as defined in the selected AI file.
     There are various AI files included with this game, and a
     full description of how to edit these files in included
     later.

     By using the above methods Each of the six (or less)
     players can be set in three different modes: Human,
     Random Computer or Predefined AI Settings.  There is no
     limit on how you set these up, so you could play a game
     consisting of six human players, or six computer players
     and simply sit back and watch.

     Once you have entered the names of all players you are
     asked whether you want to change the system settings.
     These are described later.

     You may also select to play a "quick" game.  In this mode
     all property is dealt out equally, and randomly to all
     players. In the case that the property cannot be dealt
     out equally then the remaining property can be bought in
     the normal manner.


     The Game Screen:

     In the main game screen, the board is shown around the
     edge of the screen. All sets (except Stations and
     Utilities) are colour coded as per the board game. The
     square itself will change colour from black to the colour
     of the owner once the property is bought (this is a
     configurable option). The writing within each box will
     remain white unless the property is mortgaged (in which
     case it will change to grey), or the property has at
     least one house built on it (in which case it will change
     to black).  The number of houses or hotels is also
     graphically shown on the square.

     Within the board, the screen is split into three main
     areas. The top third of the screen contains information
     about the current move (where the player is, what he must
     do etc.). The middle contains a list of all the players
     property (see "Property List" below). The bottom of the
     screen contains the dice, a breakdown of the players
     assets, and the amount currently in the "Free Parking"
     pot (If this option is turned on).


     Property List:

     In the middle of the screen is a list of all the property
     the current players owns. Each property is colour coded
     in the same way as on the board. An asterisk ("*") by the
     property name indicates that the whole set is owned (and
     therefore houses can be built), the number of houses is
     also shown as a number in green. A hotel is indicated by
     a red number 1.

     The price next to the property is *not* how much the
     property cost, but how much can be raised by mortgaging
     this property (in fact, the original price is always
     double this amount).

     A property highlighted in red, indicates the property is
     currently mortgaged. in which case, the price next to the
     property is the unmortgage cost (the mortgage price plus
     10%, or whatever the configured mortgage percentage is).

     An arrow (">") by the property name Indicates the other
     properties in this set are still available for sale (and
     hence a set is possible).


     Buying property:

     If a player lands on an unsold property he will be given
     the option to buy. He may mortgage or sell other property
     to raise enough money (the mortgage/sell option will
     automatically appear if the player hasn't enough cash).
     If a player cannot afford a property, or decides not to
     buy it, the property is offered for auction to all
     players, the player who bids the most will get the
     property (this option is configurable).


     Buying and Selling Houses:

     Houses can be bought, properties mortgaged, and
     properties traded between players by using the menu
     accessible by pressing <ESC> before a player throws the
     dice. Houses can only be bought on full sets only (such
     as The Stand, Fleet Street, and Trafalgar Square or
     Mayfair and Park Lane), and must be built evenly.
     Properties cannot be mortgaged if one (or more) in the
     set has a house on it.


     Jail:

     If a player finds himself in jail (by landing on "Go to
     jail", throwing 3 doubles in a row, or picking a "Go to
     jail" Chance or Community Chest card) then he must pay 50
     pounds to get out (or use a "Get out of jail free" card
     if his has one), or wait until he throws a double. If a
     double is not throw within three turns, then he *must*
     pay 50 pounds.


     Mortgaging property:

     Property may be mortgaged before the player shakes the
     dice (accessed by the "Mortgage/Unmortgage Property"
     option on the <ESC> menu). Any mortgaged property is show
     as such by being highlighted in red within the players
     property list.

     If the player has to settle a bill he cannot afford in
     cash, then he is given the option to mortgage property,
     sell houses or deal with other players.


     Dealing:

     Players can deal between each other and between Computer
     Players by using the "Deal" option within the menu. From
     this option you can choose to buy, sell, or swap
     property. Computer Players will occasionally deal between
     themselves, as well as asking Human players if they'd
     like to sell, or swap property. You are also given the
     option to deal if you owe more than you can pay. In this
     way you may be able to settle a large bill by selling an
     opponent a property he needs.

     If a computer player asks you if you want to sell a
     property then there are three responses you can make.  If
     you want to sell the property then press "Y". Once you
     press "Y" you are prompted for a price at which you are
     willing to sell, if the computer considers the price to
     be too high, then he will not buy.  Pressing "N" will
     refuse the offer to sell (you can also press "F" which is
     a slightly less polite way of saying no to the
     computer!).  The final option is to press "E" for
     "Exchange", this tells the computer that you do not want
     to sell the property, but you are willing to exchange it
     for one of his properties.  At this point, you will be
     shown a list of the computer's property, and prompted for
     which one you'd like in exchange for your property.  The
     computer may accept or refuse this offer, and if accepts
     will usually offer an exchange of money (either way)
     depending on how valuable each property is to each
     player.


     Bankruptcy:

     A player is declared bankrupt if he owes more than he can
     raise by selling houses and mortgaging property. If an
     AutoPlayer becomes bankrupt he will probably attempt to
     deal with other players before admitting defeat. When a
     player becomes bankrupt all property (which will be
     mortgaged) will be given to the player who is owed the
     money. If a player becomes bankrupt to the bank, then all
     property is given back to the bank, and (depending of the
     current "game rules") either auctioned, or can be bought
     in the normal way.


     Game Options and Rules

     As I've mentioned, different people tend to use different
     rules for playing Monopoly.  Some people will allow rent
     to be collected by a player who is in jail, others will
     not allow double rent to be collected if one, or more, of
     a set is mortgaged.  There are many different ways of
     playing the game, and I hope that I've covered most of
     them in this version!

     To change any of the game rules or options, either select
     "Yes" when starting a new game, or press "!" during a
     game.  These settings are roughly split into two types;
     "Rules" and "Options".  Rules cover the way in which
     people play the game, and Options cover the way in which
     the game will run.

     If these settings are saved then they will always be
     loaded in any future games.  All settings are saved into
     a text file called MONOPOLY.CFG which can also be edited
     using a text editor if required.


     Game rules

     The current rules which can be altered within the game,
     are as follows:

     Initial amount of cash:
     This sets the amount of money each player starts the game
     with.  The default is 1500 (pounds, dollars, or
     whatever!).

     Amount for passing "Go":
     Amount of money each player gets for passing "Go".
     Default is 200.

     Use "Free Parking":
     Some people play to the rule that all bills paid are
     placed into a pot which is collected by the next player
     to land on the "Free Parking" square.  This option turns
     this option on or off.  The default is off.

     Amount to put into "Free Parking":
     If the "Use Free Parking" rule is selected, then this is
     the amount to put into Free Parking each time it is
     collected.  It results in the Free Parking pot never
     being totally empty!  Defaults to 50.

     Offer properties for auction:
     If a player turns down the option to buy a property he
     lands on, this options determines whether the property is
     auctioned by the bank.  Defaults to Yes.

     Number of Houses in bank:
     In the original board game, the number of houses in each
     set is limited to 32.  Once all these houses have been
     sold, no player may buy houses until there are more
     available (by another player selling houses, or upgrading
     to hotels).  The default is 32, but can be set to 0 to
     turn off limited houses altogether.

     Number of Hotels in bank:
     As above, but for Hotels.  Default is 12.  Once again, 0
     sets no limit.

     Once around board before buying:
     Determines whether a player needs to complete one full
     lap of the board before he can start buying property.
     Default is No.

     Trade whist in jail:
     Allows a player to collect rent, deal with other players,
     and buy houses and hotels while he is in jail.  Default
     is Yes.

     Double rent when mortgaged:
     If a player owns all properties of a coloured set, but
     has not yet bought houses, then any other player landing
     on the property has to pay double the rent.  This option
     determines whether double rent is still paid if one or
     more if the set is mortgaged.  This also applies to
     Stations and Utilities.  Default is Yes.

     Pay 10% if buy mortgaged:
     If a player buys a mortgaged property from another
     player, this option decides whether the buying player
     must immediately unmortgage the property, or pay 10% of
     the price.  Default is Yes.

     Bank auctions if player goes out:
     If a player goes out to the bank, then this option
     determines whether all players properties are immediately
     offered for auction, or simply placed back in the bank
     for sale in the normal way.  Default is Yes.

     Mortgage percent:
     The percentage price players have to play to unmortgage
     properties.


     System Settings:

     Pause in "auto" mode:
     The length of the pause between events when the computer
     is playing. 1000 = 1 second.

     Pause between "auto" goes:
     Should the system pause for a key to be pressed between
     AutoPlayer moves.

     Pause if double thrown:
     Should the system pause for a key to be pressed if an
     AutoPlayer throws a double.

     Pause if an "auto" user makes a deal:
     Pause for a key if one AutoPlayer deals with another
     AutoPlayer

     Countdown Cash:
     The speed at which cash is added or removed. This should
     really only be set to 1 or 0.

     Pause during counter move:
     The length of time to pause while a counter is being
     moved.

     Length to keep dice spinning:
     Length of time to keep the dice spinning

     Max number on dice:
     Number of sides on the dice.

     Speed of conversations:
     The speed at which conversations take place

     Pause when play goes out:
     Pause for a key stoke when a player goes out of the game.

     Background Colour:
     Colour of the background! - It is not necessary a good
     idea to change this to anything except "Black" as it can
     cause confusion if the background colour is the same
     colour as a player, however it is included after popular
     demand!

     Display Owner:
     Specifies whether property on the board changes colour to
     the colour of the owner.

     Allow Cheating:
     Can players cheat?  Computer players will cheat depending
     on their "Cheat" percentage, and will notice a cheat
     depending on their "Observant" percentage.  Human players
     can cheat by pressing <ESC> when asked to pay rent.

     Number Of Cheats:
     The number of times a human player can try to cheat.


     Misc. notes & technical info.:

     When all players are in Computer mode, It is possible
     (although very unlikely) that the game will be
     stalemated. This occurs when no player has a set because
     all players are keeping hold of their property to avoid
     another player getting a set. This is more lightly with
     games with 5 or 6 computer players, as the chance of two
     players having property they are willing to exchange with
     each other is lower. This is not so much a bug, as a
     feature.

     If, after 150 moves (and every 75 moves thereafter), no
     one has a winning set (a "winning set" is considered to
     be any set other than Old Kent Road and Whitechapel Road
     (Mediterranean Avenue and Baltic Avenue)), each player
     will be deducted one property at random, and 90% of their
     cash. The properties are returned to the bank, and can be
     bought again in the normal manner. This usually
     regenerates the game. Although this procedure is
     automatic, a 10 second warning is displayed, and can be
     aborted by hitting any key.  You can also manually run
     this stalemate procedure by using the "Stalemate" option
     under the "Options Menu".

     You can turn an Computer Player into a human player by
     pressing <ESC> during the players turn, and vice-versa by
     using the "Toggle AutoPlayer" option from the Options
     Menu (or simply pressing "A").

     When do Computer Players accept deals?

     Computer Players will not sell property if they do not
     need money. They may however exchange property.

     If one Computer Player has a set (with the exception of
     Old Kent Road and Whitechaple Road (Mediterranean Avenue
     and Baltic Avenue)), and no other user has a set, the
     player with the set will not sell property unless someone
     else also gets a set.

     A Computer Player who has no sets will not usually sell a
     property which gives another player a set. He will
     however exchange property to give both players a set.

     Computer Players will buy property from other players for
     a price depending on how important the property is to
     them (i.e., a Computer Player may well pay over 1000
     pounds for Mayfair if he has Park Lane, or pay 800 pounds
     for a Station if the other three are owned by him).

     Try not to sell property via the "Deal" menu option. Wait
     for a Computer Player to ask for it. You'll be able to
     ask more for it if the deal was initiated by someone else
     (because if you ask to sell, the Computer Player may
     assume you're desperate for money, and therefore try to
     offer you less than he otherwise would).


     Special modes

     Because it is very unlikely that a mere computer could
     possibly beat a human play without cheating, on
     occasions, it will cheat!  Sometimes, a player will start
     the game in "good luck" mode, the "good luck scale" is a
     percentage, although in reality it will never be greater
     than 50%. For example, if a player has a good luck quota
     of 10%, then 10% of his throws will be lucky (this could
     mean landing on a property he wants to buy, or landing on
     a good Community Chest card, or simply not landing on
     anything nasty). To make things a little more fair,
     players can also have bad luck.  Both good and bad luck
     can apply to both human, and computer players.

     (In reality, only one game out of 20 or 30 will result in
     a player being given good or bad luck, and even if it
     does, then unless the luck value is above about 30% you
     probably wouldn't notice).

     To properly emulate human behaviour, sometimes you'll
     come across a computer players who decides that they're
     not going to sell *any* property during the game.  In
     this case, the only possible way of getting the player to
     depart with property you want, is to swap it for
     something he wants.

     If configured, the computer may occasionally try to avoid
     paying rent when he lands on a property owned by another
     computer player.  Each player is given two extra values;
     a "Cheat value", and an "Observant value".  The Cheat
     value will be below 10%, and dictates how often a
     computer player attempts to avoid paying.  The Observant
     value is above 80%, and dictates whether the player
     owning the property notices if the rent is avoided.
     Because both of these values have to be satisfied in
     order for a player to avoid paying rent it rarely
     happens!

     If a Computer Player tries to avoid paying rent on a
     property owned by a human player, then pressing the space
     bar within five seconds will indicate that you've
     noticed! (and hence the Computer Player will pay up).

     You may also try to cheat by pressing <ESC> when asked to
     pay rent.  The number of times you can cheat is set in
     the configuration, so don't waste them!

     A Computer Player may also occasionally be "Stupid" - A
     Stupid player will remain Stupid for the whole game, and
     is, not surprisingly, stupid!


     AI Files

     There are a few example AI files included in this ZIP
     file for your information.  These files can be edited
     with a text editor (such as EDIT or NOTEPAD).

     There are currently eight settings in these files, these
     are:

     NAME
     PROPERTY ORDER
     CHEAT
     OBSERVANT
     SELL
     LUCK
     STUPID
     UNMORTGAGE

     The Name is the name of this player.
     The Property Order is the order in which this player
     likes property (from best to worst).  In reality this
     does not make a great deal of difference as the computer
     will always try and deal to make a set, even if the set
     it makes is not a very good one, however, it does make a
     subtle difference to game play.  Please look at one of
     the example .AI files, and be careful to include all sets
     in the list.  If you leave a set out, the computer will
     never try for it!

     Cheat and Observant are percentages and are described
     above.

     Sell a percentage, and sets how often a computer player
     will sell property.  Please note that even if this value
     is 100% is does not mean that the computer will always
     sell property. It will still consider the importance of
     the property before accepting a deal.  To make a computer
     player always sell property, set the "stupid" flag! (see
     below).

     Luck is a percentage between -100% and 100%.  0% means
     that it is neither lucky or unlucky.

     Unmortgage is a flag (yes or no) which specifies whether
     a computer player will unmortgage mortgaged property
     which does not make a set.  The computer player will
     still unmortgage property if it has the full set.

     Stupid is a flag (yes or no) which defines whether a
     computer player is stupid or not!


     Configuration Files

     There are four configuration files which Monopoly looks
     for, these are:

         MONOPOLY.CFG
         PROPERTY.CFG
         CHANCE.CFG
         CHEST.CFG

     If one or more of these files does not exist then the
     defaults are used.  The defaults will set the game up
     with standard rules for the UK version.  All
     configuration files are standard text files, which means
     they can be edited using a standard text editor such as
     DOS EDIT or Windows Notepad.

     MONOPOLY.CFG

     This is a text file which is created when the current
     settings are saved from within the "Change Defaults"
     option.  Most of the settings are self-explanatory, and
     can be crossed referenced by referring to the "System
     Settings" part of this documentation.

     PROPERTY.CFG

     Allows the user to modify names, cost and rent for all
     properties.  Each line should consist of 12 fields
     separated by commas. The first and second fields
     correspond to which property this line describes, the
     first number being the set (1 = Brown, 2 = Light Blue to
     8 = Dark Blue, 9 = Utilities, 10 = Stations and 11 =
     Taxes (which are only included to enable the names to be
     changed)).  The second number corresponds to which
     property in the set. For example "1,2" corresponds to the
     second brown property (e.g., Whitechapel Road) while
     "4,3" corresponds to the third orange property (e.g.,
     Vine Street).

     The next three fields show the name of the property, and
     should be enclosed in single quotes (if a quote is needed
     in the name (e.g. King's Cross Station), then use two
     quotes together).  The first of these fields is the full
     name, while the second two fields are the short name (two
     lines of no more than six characters).

     The last 7 field show the price, and rent of the
     property. The first is the price, the second the rent
     which no houses, the third the rent with one house etc.

     It is recommended that you take a look at one of the
     example PROPERTY.CFG files to fully familiarise yourself
     with the context.

     CHANCE.CFG & CHEST.CFG

     These files contain 5 fields per line.  The first two
     fields are the text on the card, the second is the action
     the card has (described below), and the forth and fifth
     are the value of the action (usually the fifth field
     isn't used, and hence should be set to 0.

     Currently supported actions are: (unless otherwise stated
     field 4 is used to decide the amount).

     Move    Moves the players counter to square
     referenced by field 4
     Collect Collect money
     Pay     Pay money
     Jail    Gives a "Get out of jail free" card
     Birthday        Collect money from all other players
     PickChance      Pay a fine or take a chance
     House   House repairs (house cost is field 4, hotel
     cost is field 5)
     GetPercent      Collect a percent of all others players money
     Percent Collect a percentage of your current money

     Once again, please take the time to look at one of the
     example CHEST.CFG or CHANCE.CFG files before you attempt
     to alter them!

     -----------------

     Please let me know of any comments via e-mail to
     Adam.Stevens@virgin.net

     Adam Stevens - January '98.

     e-mail: Adam.Stevens@virgin.net
     web: http://ads.home.ml.org


