# How to use Random Numbers and other Math functions in VASSAL

**USING RANDOM NUMBER & MATH FUNCTIONS IN VASSAL**

If you use Beanshell expressions (the expressions displayed in { } or in the Expression field of a Calculated Property), then all of the Java math functions are available to you.

**RANDOM NUMBERS:**

**Random(6)** will return a random number between 1 and 6.

**Random(min, max)** will return a number between "min" and "max".

**IsRandom()** will return true 50% of the time.

**IsRandom(pct)** will return trure pct% of the time.

**MATH FUNCTIONS:**

IMPORTANT: Vassal properties must be defined as numerical so that Java sees them as such!!!

So for example:
**Math.abs(MaybeNegative)** returns the absolute value of the property MaybeNegative.

**Math.max(OneValue, OtherValue)** returns the larger of OneValue and OtherValue.

**Math.min(OneValue, OtherValue)** returns the smaller of OneValue and OtherValue.

A complete list of the Math class methods can be found at e.g. Oracle Java Docs and the useful ones are included in the Beanshell Expression Builder.