SmartDice - a die throwing program for RPGs that runs under 
Microsoft Windows 3.0.
 
 Copyright (C) 1991  Monte Ferguson.  See end of document for copy and use
restrictions.

IMPORTANT NOTE: This program was written in Microsoft Visual BASIC, and it 
needs the runtime library (VBRUN100.DLL) in order to run.  If you don't 
already have the VBRUN100.DLL library you'll need to download that as well 
(it's available in many places, including CompuServe).

------------------------------------------------------------------------------
                               WHAT IS IT FOR?

 Essentially DICE is a random number generator geared for players of Role 
Playing Games (people who use stange shaped dice).  In a pinch it's equation 
parser could be used as a simple calculator...

                               HOW DO I USE IT?

 Run it from Windows. Two windows will pop up: the one on the left (with all 
the buttons) is the control panel, the one on the right (that's empty) shows 
the results of the rolls.

 The most common types of dice have buttons - to roll a 1d4 (that's "1 
four-sided die", for the uninitiated) just press the 1d4 button. The equation 
"1d4" appears in the equation place, and the equation and result are 
displayed in the rightmost (results) window. The "2d6" button rolls 2 
six-sided dice and adds the result, the 1d100 rolls percentile dice, etc... 

 If you want a die roll that isn't on a button (say you want to roll 30d6 for 
damage from a dragon's breath), or simply get the result of an equation, 
enter the equation in the "Equation" box, press Enter and the result appears 
in the result box.  

                               EQUATION PARSER

 This is the thing that sets SmartDice apart from other simple die-rolling 
programs - it can accept an equation and parse it according to standard 
conventions: it uses the operators D * / + - to signifiy Dice, 
Multiplications, Division, Addition and Subtraction, according to that 
priority. It recognizes parentheses as overriding calculation priority, and 
also supports the following functions: 
 
 ABS() - Returns absolute value of passed numeric arguement

 INT() - Returns integer result of passed numeric arguement

 SGN() - Returns sign (-1, 0 or 1) of passed numeric arguement
 
 RND() - Returns a random number between 1 and the passed numeric argument

 A note on the "d" operator - it's standard RPG notation, the number (or 
arguement) to the left of the D is the number of dice to roll, the number on 
the right is the sides on the dice... the result is the sum of those rolls. 
So 3d6 means "the sum of 3 six-sided dice". "D" has precedence over the other 
operators, so 2d6+3 will roll 2 six-sided dice and then add three to the 
result. 

 The "Repeat" button will make the same roll over again...


                        "ABOUT", "HELP, "EXIT" BUTTONS

 Self explanatory.


                                "GRAPH" BUTTON

 Pops a window that makes multiple rolls of the current equation and graphs 
the results.  Good for demonstrating the difference between a linear curve 
(such as 1d6) and a bell curve (like 3d6). The "Pause" and "Reset" buttons 
are self-exaplanatory. The number of rolls between graph updates can be 
changed with the "Increment" box (change it after pausing the roller). Use the
control box (upper left hand corner) to close the graph box.



                                  OTHER INFO

 SmartDice was written in Microsoft Visual BASIC as personal project to help 
me learn the language.  If you'd like to have the source code it's available 
for $25.00 (US), write to the below address.  The equation parser may be of 
particular interest to creators of games and RPG accessories.



                          COPY AND USE RESTRICTIONS

 Monte Ferguson (the author) maintains the copyright to the SmartDice program 
and code. You may freely use the program without any registration or any 
other fee - the code is not crippled or nagging, use it guilt free.

 You may distribute the executable (NOT SOURCE CODE) in any way to like, as 
long AS YOU DO NOT CHARGE FOR THE PROGRAM.  This means you may place it on 
bulletin board systems, give it to friends, etc, but you may NOT sell it 
without the express written permission of the author.  Shareware Vampire 
Companies take note: do NOT include this program on any disks you sell or you 
will be in violation of MY copyright. 

 If you would like to have the source code to SMARTDICE for your own 
edification or inclusion in your own programs, send $25.00 (US cash, check or 
money order) to:
 
                                Monte Ferguson
                              C/O PFG Consulting
                          1250 Anita Drive suite 304
                               Kent, OH  44240

 Please specify the format you'd like the source code on: 360k 5 1/4" disk or 
720k 3 1/2 disk.

 Comments and bug reports are also welcome, I can be reached at the above 
address, or PC-OHIO (216 381 3320, the Best BBS in the US), or on Fido Net 
(1:157/200.39 [I'm a point off of PC Ohio]), I frequent the QuickBASIC echo 
there.  NOTE: There are no warranties or guarantees to this program or it's 
code other than I happen to like it.  You may or may not...
