1
0
forked from 0ad/0ad
0ad/binaries/data/mods/public/maps/random/rmgen/random.js
historic_bruno c02818ceea Tweaks random map appearance and resource placement.
Cleans up rmgen library.
Fixes bug in bound checking for circular maps.

This was SVN commit r9388.
2011-05-01 22:29:58 +00:00

55 lines
1.3 KiB
JavaScript

// TODO: rename/change these functions, so the bounds are more clear
/*
* Return a random floating point number using Math.random library
*
* If no parameter given, the returned float is in the interval [0, 1)
* If two parameters are given, they are minval and maxval, and the returned float is in the interval [minval, maxval)
*/
function randFloat()
{
if (arguments.length == 0)
{
return Math.random();
}
else if (arguments.length == 2)
{
var minVal = arguments[0];
var maxVal = arguments[1];
return minVal + randFloat() * (maxVal - minVal);
}
else
{
error("randFloat: invalid number of arguments: "+arguments.length);
return undefined;
}
}
/*
* Return a random integer using Math.random library
*
* If one parameter given, it's maxval, and the returned integer is in the interval [0, maxval)
* If two parameters are given, they are minval and maxval, and the returned integer is in the interval [minval, maxval]
*/
function randInt()
{
if (arguments.length == 1)
{
var maxVal = arguments[0];
return Math.floor(Math.random() * maxVal);
}
else if (arguments.length == 2)
{
var minVal = arguments[0];
var maxVal = arguments[1];
return minVal + randInt(maxVal - minVal + 1);
}
else
{
error("randInt: invalid number of arguments: "+arguments.length);
return undefined;
}
}