Provided by: rolldice_1.10-5_i386 bug

NAME

       rolldice - rolls virtual dice

SYNOPSIS

       rolldice [ options ] dice_string dice_string ...

DESCRIPTION

       rolldice  rolls  virtual  dice.  The dice strings passed on the command
       line contain information on the dice to roll in a format comparable  to
       the format used in fantasy role playing games.

OPTIONS

              -h,--help
                     returns the usage of diceroll

              -v,--version
                     returns the version of diceroll

              -r,--random
                     uses /dev/random for random number generating

              -u,--urandom
                     uses /dev/urandom for random number generating (default)

              -s,--separate
                     prints  out the result of each individual die separately,
                     as well as the operations and totals

DICE STRING FORMAT

       The dice string uses the following format:

              {#x}{#}d[#|%]{*#}{+/-#}{s#}

       The dice string doesn't have to be in the format that I outlined above,
       but  this  is  the  nicest  order  for  me.   It  will try to parse any
       different string containing the same sections in the best way  it  can,
       and will throw out anything that isn't one of the sections below.

              {#}d[#|%]
                     This  is  the  only  required part of the string, and now
                     really isn't even required, as it defaults to 1d6 if  not
                     found.   The  first number is the number of dice to roll,
                     and the second number is the number  of  sides  the  dice
                     have.   The  numbers rolled on each die are then added up
                     and given as the result.  Hence  3d6  means  "roll  three
                     six-sided dice, add them together and return the result".
                     If the first number is left out, then the number of  dice
                     defaults to 1.  If the second number is not a number, but
                     a percentage sign, then the number of sides  becomes  100
                     (for a percentage roll).

              {#x}   This  number  tells how many times to roll.  For example,
                     if you want to roll 3 6-sided dice 6 times, you would say
                     6x3d6.   This  would return six numbers, corresponding to
                     the six different rolls.

              {*#}   This number tells how many times to multiply  the  result
                     of each roll.  3d6*100 would return a number in the range
                     of 300-1800, since 3-18 is the range resulting from  3d6,
                     which is then multipled by 100.

              {+/-#} This  number  is  the modifier to be added or subtracted,
                     depending on the  sign,  from  each  roll.   1d4+1  would
                     result  in  a  range  from 2-5 (1-4 for the die, plus 1).
                     This step is handled *after* the multiplication modifier.

              {s#}   This number tells the program to drop the #  lowest  dice
                     rolls.   This step is handled *before* the multiplication
                     modifier.

       in the order show above.  For an extreme example,  "3x4d6*5+1s2"  would
       roll  four  six-sided dice, drop the lowest two, multiply the result by
       5, add 1 to that, and repeat the process two more times, for a total of
       three results.

DIAGNOSTICS

       The following error messages may appear on STDERR:

       Failure in getting dice attributes
              Either  memory  could  not be allocated while parsing the string
              passed to the rolldice program or an  invalid  dice  string  was
              entered.
       Failure in rolling dice
              Memory could not be allocated while actually rolling the dice.
       Unknown option
              Take a wild guess ;)

BUGS

       I  haven't  noticed  any  yet...  rolldice is a quick hack to provide a
       virtual dice roller for  FRPGs  that  I  play.   Any  improvements  are
       greatly welcome, as I am not the most experienced C coder...

AUTHOR

       Stevie Strickland <sstrickl@cc.gatech.edu>

VERSION

       1.10 - 25 Nov 2001