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.